BAEKJOON_2011) 암호코드
BAEKJOON - 강의 (알고리즘 기초)
3. 다이나믹 프로그래밍 1
2011) 암호코드 (19.03.21)
* 굉장한 시도들이었다.
* 처음에는 틀렸습니다, 그리고 많은 런타임 에러들을 뒤로하고 드디어 맞았습니다!
* 틀렸던 이유는 1000000 으로 나눠주지 않아서였다.
* 두번째는 암호를 해석할 수 없는 경우(입력이 0인 경우 등)를 고려해 주지 않았다.
* 두번째 경우를 맞게 고치는 데 계속 런타임 에러가 나왔고,
* 올라온 질문과 답변들을 보면서 조건을 수정했다.
* 차례로 계산 하다가 어딘가에서 잘못된 수가 나온다면 마지막칸에 0이 바뀌지 않고
* 그대로 출력되므로 이것을 이용했다.
* 이 문제는 앞에서부터 한 자리씩 늘려가면서 그 전의 값을 이용해 경우의 수를 구해낼 수 있었다.
* 만약 지금 차례의 숫자가 1부터 9 사이의 숫자면 그 앞의 자리수까지 구했던 숫자를 넣어준다.
* 그리고 앞자리수를 십의자리로, 지금 자리수를 일의 자리로 봤을 때,
* 그 수가 10부터 26까지의 숫자면 두자리 앞까지의 경우의 수에 이전에 구했던 숫자
* 그러니까 현재 들어있는 값을 더해준다.
* 즉, 지금 차례의 숫자를 한 자리 수라고 생각했을 때의 경우에
* 앞자리까지 두 자리수라고 생각했을 때의 경우를 더해주는 것이다.
댓글
댓글 쓰기