1463번 - 1로 만들기
dp가 문제입니다..ㅠㅠ
n이 100만일 때까지 몇몇 테스트케이스를 돌려봤는데 맞게 출력되는것 같습니다만...
어느 테스트케이스가 틀린건지 계속 틀렸다고 뜹니다.
도와주세요!!
풀이는 재귀로 메모이제이션적용해서 풀었고 케이스는 n이 3과 2 로 나눠떨어질때랑 그 이외의 경우 그리고 n-1이 2와3으로 떨어질 경우로 나누어서 최솟값을 찾는 방식으로 구현하였습니다.
-1 연산을 2번 해야 더 빠르게 1이 되는 경우도 있는데, 작성자님 코드에서는 그런 상황에서 동작하지 않는 경우가 있네요.
164를 예로 들면, 이 숫자에서 -2를 하고나서 /2 하면 81이고, 이 숫자는 3의 제곱이니 계속 /3하면 제일 빠릅니다.
그러나 님 코드에서는 164에서 -1을 할 수가 없어요..
-1 연산을 특정 조건에서만 할 수 있도록 하셔서 일부 케이스가 누락되는 상황입니다.
//superahn
164의 경우를 해봤는데 164 - 82 - 81 - 27 - 9 - 3 - 1 이런식으로 진행되는것 같지는 않지만 일단 답은 6으로 맞는것같습니다.
이런 비슷한 상황의 다른 테스트케이스에서 틀렸는지도 모르겠군요. 일단 다시 수정해야겠습니다. 답변 감사합니다.
input으로 1이 입력됬을때는 이미 답인경우이기때문에 0이 출력되야됩니다.
댓글을 작성하려면 로그인해야 합니다.
alclstit 7년 전
dp가 문제입니다..ㅠㅠ
n이 100만일 때까지 몇몇 테스트케이스를 돌려봤는데 맞게 출력되는것 같습니다만...
어느 테스트케이스가 틀린건지 계속 틀렸다고 뜹니다.
도와주세요!!
풀이는 재귀로 메모이제이션적용해서 풀었고 케이스는 n이 3과 2 로 나눠떨어질때랑 그 이외의 경우 그리고 n-1이 2와3으로 떨어질 경우로 나누어서 최솟값을 찾는 방식으로 구현하였습니다.