Memorize PI

less than 1 minute read

NOTE

블로그라기 보다는 생각나는 생각나는 대로 두서없이 적는 낙서장이라고 보면 될것 같다.

2019년 4월 10일 19:30~21:30

문제

  1. 원주율 소수점 이하 숫자의 패턴을 외우기 위한 최소한의 난이도 계산
  2. 숫자는 3~5자리로 청크를 나눠서 난이도 계산
  3. 모든 숫자가 같을 때, 1 (333. 5555)
  4. 숫자가 1씩 단조 증가하거나 단조 감소할 때, 2 (23456, 3210)
  5. 두 개의 숫자가 번갈아가며 나타날 때, 4 (323.54545)
  6. 숫자가 등차수열을 이룰 때, 5 (147,8642)
  7. 이외의 모든 경우, 10 (17912,331)
Input: 12341234
Output: 4

Input: 11111222
Output: 2

Input: 12122222
Output: 5  

Input: 22222222
Output: 2

Input: 12673939
Output: 14

생각 흐름 - 무식하게 풀기

  1. 그냥 단순 메모이제이션을 통한 DP면 될 것 같다.
  2. 물론 각 인덱스에서 패턴이 유지되는지 변하는지 감지는 해야겠지.
  3. 패턴은 이전수와 현재수의 차 및 그 절대값으로 다 커버할 수 있다.
  4. 모든 숫자가 같으면 0
  5. 1씩 단조 증가면 1
  6. 두 숫자가 번갈아 나타나면 n,-n (|n|)
  7. 숫자가 등차 수열이면 n
  8. 그 외의 경우는 무작위
  9. 같은 패턴이 2번 연속에서 나오면 연속 된 세 자리가 패턴을 이룬다고 볼 수 있음
  10. 그게 아니면 3칸의 차가 다 다르면 무작위라 판단하면 됨
  1. 위 예제는 통과 성공

Leave a comment