boj 연습
1107 리모컨
송주환
2018. 7. 17. 22:18
브루트포스 문제
해결하려 했던 방법:
- 경우의 수는 두가지, 번호를 바꾸고 이동하거나 바로 이동하기
->적은 값은 일단 바로 이동한 경우로 생각 해두고, 답과 근처로 가서 이동하는 경우와 비교하려 했음.
문제점 발생: 답 근처로 가는 방법이 쉽지가 않다(논리적으로 생각이 안됨)
첫번째 문제점 해결 방안) 시간제한이 2초이므로, 시간초과가 안 걸릴 가능성을 인지하고 0부터 1000000까지 모든 경우의 수 탐색
-> 그렇지만 맞왜틀 발생.... 한 시간 정도 소비한듯...
틀린 이유 두가지
1) while문을 통해 보통 자릿수 체크를 하는데 보통 while(cnt>0)이런 경우로 cnt가 0인 경우를 체크하지 않아서 0으로 이동해야하는 경우는 고려하지 않았음.. 따라서 문제 발생
2)위 경우를 썼지만, 단순 예외처리로 해결하려 해서 0이 고장난 경우에는 또 다른 문제가 발생.
-> 이 두가지를 고려해서 해결
피드백)
- 대회를 진행 할 때나 연습을 진행 할 때나 풀이 방법은 거의 맞지만, 한 두가지 예외처리를 잡지 못해서 맞왜틀이 종종 발생...
-> 따라서 좀 더 논리적으로, 문제를 깊게 생각하는 능력을 키워야 할 것 같음.