1463번 - 1로 만들기
4부터 최소횟수를 찾아서 n까지 도달하는 방법입니다.
2로 나누는 경우 : n/2가 될테니 count에 +1합니다. 이후 dp의 n/2번째 index(즉 dp[n/2]) 속의 최소횟수를 더해주면 됩니다.
그래서 count=1+dp[i/2] 가 최소라고 하고 prov[0]에 넣습니다
3으로 나눌때는 prov[1]에, 1뺄때 prov[2]에 넣습니다.
이후 prov배열에서 진짜 최솟값을 찾아주는 식으로 했습니다.
질문게시판에 나온 대입값 모두 해봤는데 모두 잘 나와서 뭐가 틀렸단건지 문제점을 모르겠습니다..
Input : 30
output : 5
expected output : 4
30의 경우 `30 -> 10 -> 9 -> 3 -> 1` 4번으로 가능합니다.
댓글을 작성하려면 로그인해야 합니다.
shin748 5년 전
4부터 최소횟수를 찾아서 n까지 도달하는 방법입니다.
2로 나누는 경우 : n/2가 될테니 count에 +1합니다. 이후 dp의 n/2번째 index(즉 dp[n/2]) 속의 최소횟수를 더해주면 됩니다.
그래서 count=1+dp[i/2] 가 최소라고 하고 prov[0]에 넣습니다
3으로 나눌때는 prov[1]에, 1뺄때 prov[2]에 넣습니다.
이후 prov배열에서 진짜 최솟값을 찾아주는 식으로 했습니다.
질문게시판에 나온 대입값 모두 해봤는데 모두 잘 나와서 뭐가 틀렸단건지 문제점을 모르겠습니다..