실수한 부분 1. DP[1], DP[2] 초기화 2. N이 1인 경우에는 DP[2]가 존재하지 않음 (ArrayIndexOutOfBound Exception 방지) 3. 점화식 DP[i] = Math.max( DP[i-2], DP[i-3]+score[i-1]) + score[i]; 이 부분의 DP[i-3]+score[i-1]은 DP[i-1]이 아님.. DP[i-1]이 더 큰 개념 DP[i-1]은 DP[i-2] + score[i-1] 또는 DP[i-3] + score[i-1] 둘 중 하나임.. 개념을 좁혀준거임 'DP[i]로 오기 전에 2칸을 뛰었습니다'라는 조건을 점화식에 담아준 것 이걸 안 담아주고 DP[i-1]을 점화식에 넣어버리면 문제에서 요구하는 조건인 세 칸을 연속해서(한칸씩) 건너갈 수 없습니..
알고리즘 풀이/백준
123456789101112131415161718192021222324252627282930313233343536373839import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter; public class Main { private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); private static BufferedWriter bw = new BufferedWriter(new OutputS..
1234567891011121314151617181920212223242526import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter; public class Main { private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); ..
for문 깊을 때는 함수로 빼서 처리해야되는데 그냥 귀찮아서 4중 for문씀 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStrea..
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.Stack; public class Main { private static BufferedReader br = new BufferedReader(new InputStreamRe..
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.LinkedList; public class Main { private static BufferedReader br = new BufferedReader(new InputStreamReader(System.i..
틀렸습니다 나왔음 반례 1 RR 0 [] 출력 : ] if(sBuilder.charAt(sBuilder.length()-1)==',') { sBuilder.setLength(sBuilder.length()-1); } 로 고쳐줌.. 마지막 숫자 쉼표 떼주기였는데 element가 없을 때 대괄호 []에서 앞에 대괄호를 떼버리는듯 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 import java.io.BufferedReader..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); private..
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.Stack; public class Main { private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); private ..
2가지 이유로 에러가 났는데 1. 경로가 같은 버스가 여러대인 경우, 버스비 계속 갱신됨 최소 비용을 계산하기 위해서는 a도시에서 b도시로 가는 버스비 중 최소값을 배열에 넣어야하는데 a도시에서 b도시로 가는 버스가 여러대가 있는 경우도 있다는 것을 Debug로 알았고 버스비가 계속 덧씌워졌음 Math.min([기존 버스비], [새로 입력된 버스비])로 최소값 처리함 2. 문제의 마지막 요구 조건인 만약, i에서 j로 갈 수 없는 경우에는 그 자리에 0을 출력한다. 를 간과했음 노드가 없어서 갈 수 없는 경우는 INF값으로 처리해줬는데 floyd(n)함수 돌리고 마지막에 출력하기 전에 INF값을 0으로 교체해주어야함 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2..