본문 바로가기

CS/Algorithm90

[알고리즘][DP][1463] 1로 만들기 [알고리즘][DP][1463] 1로 만들기 https://www.acmicpc.net/problem/1463 [풀이]본격적인 DP문제처음 풀어서 쉽지 않았다.최소값을 고려해야만 문제를 풀 수 있다. (이것 때문에 굉장히 머리 아팠다)10 = 9 -> 3 -> 1 (3회) 가 10 = 5 -> 4 -> 2 -> 1 (4회) 보다 효율적이다.EX > num=10 일 때, d[10] = DP(9)+1 => DP(3)+1 +1 => DP(1)+1 +1 +1 temp = DP(5)+1 => DP(4)+1 +1 => DP(2)+1 +1 +1 => DP(1) +1 +1 +1 +1 temp 가 작을 경우 d[10]에 temp를 넣어준다. 이런 식으로 최소값을 얻는다. [코드]123456789101112131415161.. 2018. 3. 20.
[알고리즘] 11656 접미사배열 [알고리즘] 11656 접미사배열 https://www.acmicpc.net/problem/11656 [풀이]Array.sort()라는 함수는 꼭 기억해두자.이걸 몰라서 구현하려다가...틀렸습니다만 5번 봤다. [코드] 1234567891011121314151617181920212223242526package algorithm_basic; import java.util.Arrays;import java.util.Scanner; public class q_11656 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String line = scan.nextLine(); int length = line.lengt.. 2018. 3. 19.
[알고리즘] 11655 ROT13 [알고리즘] 11655 ROT13 https://www.acmicpc.net/problem/11655 [풀이]아스키코드값을 이용해서 풀었다.소문자와 대문자를 구분해서 if문으로 분리만약 범위를 넘어갈 경우 한번 더 계산하도록 했다. [코드] 12345678910111213141516171819202122232425262728293031323334353637package algorithm_basic; import java.util.Scanner; public class p_2743 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); char[] line = scan.nextLine().toCharArray(); .. 2018. 3. 19.
[알고리즘] 단어 길이 재기 - 시간복잡도 [알고리즘] 단어 길이 재기 - 시간복잡도 시간복잡도를 고려하지 않은 코드 ; O(N^2)123for (int i=0;i 2018. 3. 18.