Memorize PI
NOTE
블로그라기 보다는 생각나는 생각나는 대로 두서없이 적는 낙서장이라고 보면 될것 같다.
2019년 4월 10일 19:30~21:30
문제
- 원주율 소수점 이하 숫자의 패턴을 외우기 위한 최소한의 난이도 계산
- 숫자는 3~5자리로 청크를 나눠서 난이도 계산
- 모든 숫자가 같을 때, 1 (333. 5555)
- 숫자가 1씩 단조 증가하거나 단조 감소할 때, 2 (23456, 3210)
- 두 개의 숫자가 번갈아가며 나타날 때, 4 (323.54545)
- 숫자가 등차수열을 이룰 때, 5 (147,8642)
- 이외의 모든 경우, 10 (17912,331)
Input: 12341234
Output: 4
Input: 11111222
Output: 2
Input: 12122222
Output: 5
Input: 22222222
Output: 2
Input: 12673939
Output: 14
생각 흐름 - 무식하게 풀기
- 그냥 단순 메모이제이션을 통한 DP면 될 것 같다.
- 물론 각 인덱스에서 패턴이 유지되는지 변하는지 감지는 해야겠지.
- 패턴은 이전수와 현재수의 차 및 그 절대값으로 다 커버할 수 있다.
- 모든 숫자가 같으면 0
- 1씩 단조 증가면 1
- 두 숫자가 번갈아 나타나면 n,-n (|n|)
- 숫자가 등차 수열이면 n
- 그 외의 경우는 무작위
- 같은 패턴이 2번 연속에서 나오면 연속 된 세 자리가 패턴을 이룬다고 볼 수 있음
- 그게 아니면 3칸의 차가 다 다르면 무작위라 판단하면 됨
- 위 예제는 통과 성공
Leave a comment