그냥 왠지 느낌상 주어진 수를 binary로 나타냈을때 1의 개수가 정답일 것 같아서
찍어봤는데 그냥 돼버려서...
혹시 이거 왜 그런건지 알 수 있나요?
자답입니다. n 위치에서 0으로 갈 때 순간이동이 가능하지 못한 순간에 1칸씩만 점프를 뛰면 되는데, 이 과정이 주어진 수를 이진화 했을 때 1의 개수를 구하는 과정과 동일한 것을 확인했습니다.
대단해요
2와 관련있다보니 이렇게도 되는군요...
점프(Shift 연산), 이동 (1의 자리수의 0 -> 1 변환) => 2진표현( 점프 및 이동의 기록 )
와 이런 풀이도 있군요
/* 5 = 1 4 = 1 2 w = 1 1 w w 6 = 1w1w = 3 w = 1 2 w = 1 1 w w 5000 = 2500w = 1250ww = 625www = 1,624www = 1 312wwww = 1 156wwwww = 1 78wwwwww = 1 39 wwwwwww = 1 1 19 wwwwwww = 1 1 1 9 wwwwwwww = 1 1 1 1 4 wwwwwwwww = 1 1 1 1 2 wwwwwwwwww = 1 1 1 1 1 */
이런 식으로 생각하시면 됩니당
감사합니다!