CS/Algorithm90 [알고리즘][문자열][1764] 듣보잡 [알고리즘][문자열][1764] 듣보잡 * 문제https://www.acmicpc.net/problem/1764 * 풀이Java를 얼마나 활용할 수 있느냐에 따라 해결 속도가 갈릴 것 같은 문제.HashMap과 List의 기능을 잘 활용하면 금방 해결할 수 있는 문제이다. *코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647package algorithm_String; import java.util.Collections;import java.util.HashMap;import java.util.LinkedList;import java.util.List;import java.util.Scanner; p.. 2018. 4. 20. [알고리즘][문자열][2941] 크로아티아 알파벳 [알고리즘][문자열][2941] 크로아티아 알파벳 *문제https://www.acmicpc.net/problem/2941 *풀이 예외상황을 생각하지 못해서 처음부터 지우고 다시 풀었던 문제. 다양한 케이스들을 고려할 줄 알아야겠다. test case는 http://hsin.hr/coci/archive/2008_2009/ 에서 참고하여 추가적인 테스트를 진행하고 부족한 사항을 충족시켰다. 1. 문자열의 길이만큼 count값을 넣는다. 2. -/=/i 세 개중 하나일 경우 앞 문자를 검사한다. 3. 만약 앞 문자들이 각각 크로아티아 알파벳에 해당되면 카운트 값을 깎는다. *코드12345678910111213141516171819202122232425262728293031323334353637383940414.. 2018. 4. 19. [알고리즘][문자열][2908] 상수 [알고리즘][문자열][2908] 상수 *문제https://www.acmicpc.net/problem/2908 * 풀이숫자를 2개 입력받고 이를 뒤집어 max값을 구한다. 처음에 숫자 입력 갯수가 지정된지 모르고 배열로 풀다가 바꾸는 바람에 코드의 길이가 길어졌다ㅠ다른 코드들을 참고해보니 10으로 나눈 나머지 값으로 쉽게 구현이 가능하다. 또 굳이 pow를 이용하여 값을 계산하지 않더라도 valueof함수를 이용하면 String으로 되어있는 값을 int로 쉽게 바꿀 수 있다. 다음에는 더 짧게 구현해봐야겠다. * 코드12345678910111213141516171819202122232425262728293031323334353637383940414243package algorithm_String; impo.. 2018. 4. 15. [알고리즘] 백트래킹(Backtracking) [알고리즘] 백트래킹(Backtracking) * 백트래킹이란? 모든 경우의 수를 전부 고려하는 알고리즘이다. 일종의 트리 탐색 알고리즘이라고 봐도 된다. 구조적으로 깊이우선탐색을 기반으로 한다. 즉, DFS의 구조를 적용할 수 있는 문제에 적용될 수 있다. 백트래킹을 쉽게 설명하자면 어떤 노드의 유망성을 점검하고 유망하지 않으면 그 노드의 부모 노드로 돌아간 후 다른 자손의 노드를 검색하는 것을 말한다. 즉, 스택에 자식노드를 넣기 전에 유망한지(해답이 될 가능성이 있는지) 확인하고 스택에 넣음을 말한다. * 백트래킹과 DFS의 차이 백트래킹의 경우 가지치기가 일어나므로 원시적인 방법으로 모든 경우의 수를 확인하는 알고리즘은 아니다. [참조] https://www.slideshare.net/JaehoS.. 2018. 4. 13. 이전 1 ··· 9 10 11 12 13 14 15 ··· 23 다음