플로이드 와샬 문제 1년전에 틀렸던 문제인데 틀린 이유가 플로이드로 최단 거리를 갱신하지만, 입력을 받을 때 똑같은 간선을 입력받는 경우를 고려하지 않았다..ex) 1 4 1 로 입력받았는데 1 4 2 로 입력 받으면 1->4 간선은 1이 되어야 한다는 뜻이다. 추가) 이런 그래프 문제는 첫 초기 값이 INF로 해야 최단 그래프 알고리즘이 성립된다. 의문점) 배열 초기 값 설정하는 법 알려주실분? ex) arr[101][101]={INF,}; 이렇게 하면 INF로 초기 값 설정이 안되던데... ㅠ 주륵....
1. while문을 이용하여 반복하여 새로운 N을 찾아내고 새로운 N이 처음에 주어진 N값과 같아진다면 break문을 통해 반복을 빠져나오는 방식 채택, 더하기 사이클에서 십의 자리 수와 일의 자리 수를 나타내기 위하여 (수학적인 방법)몫과 나머지를 분리하여 구현 2. 구현 과정에서 실수 : 매 사이클마다 N이 새로운 N으로 초기화 된다는 점을 코드상으로 구현하지 않아 처음에 같은 N값이 들어가 틀린 코드가 되었음 3. 해결 : 새로운 변수 newN을 사용하여 반복마다 N이 초기화 됨을 구현하고 수학식에 때려박음. -Jo-
브루트포스 문제 해결하려 했던 방법:- 경우의 수는 두가지, 번호를 바꾸고 이동하거나 바로 이동하기 ->적은 값은 일단 바로 이동한 경우로 생각 해두고, 답과 근처로 가서 이동하는 경우와 비교하려 했음. 문제점 발생: 답 근처로 가는 방법이 쉽지가 않다(논리적으로 생각이 안됨) 첫번째 문제점 해결 방안) 시간제한이 2초이므로, 시간초과가 안 걸릴 가능성을 인지하고 0부터 1000000까지 모든 경우의 수 탐색-> 그렇지만 맞왜틀 발생.... 한 시간 정도 소비한듯... 틀린 이유 두가지 1) while문을 통해 보통 자릿수 체크를 하는데 보통 while(cnt>0)이런 경우로 cnt가 0인 경우를 체크하지 않아서 0으로 이동해야하는 경우는 고려하지 않았음.. 따라서 문제 발생 2)위 경우를 썼지만, 단순..
1. 첫번째 생각 방법- dfs + dp -> 시간 초과가 남 해결- bfs + dp 를 통해 해결