[백준] 참쉽죠? 1463 '1로만들기' Python

귀귀재재·2022년 1월 12일
0

백준

목록 보기
1/1

very easy한 문제입니다.
DP 이용해야하고요 조금 주의력이 필요한 문제입니다.

정답비율 30프로인데 아마 실수 하셔서 그럴겁니다.
저도 그랬고요 2트에 풀었네요.


접근은 위와 같이 했는데 오류인 부분이 있습니다.

조건문 세줄을 보시면
else로 넣어줘서 예를 들어 6과 같이 2와 3을 인수로 갖는수가 2,3을 둘다 나눠보고 해야하는데 그렇지 못하게 작성하여 틀렸습니다.

그래서 else 부분 다 빼주셔야하고 3번째 산수 1을 빼주는 방식을 맨앞에 넣어서 또 비교해주셔야 합니다.

그래서 코드는 아래와 같습니다.

#Sunjae Arlgorithm


inp = int(input())
Dp= [0]*(inp+1)
for  i in range(2,inp+1):
    Dp[i] = Dp[i - 1] + 1
    if i%3==0:

        Dp[i] = min(Dp[int(i/3)] +1,Dp[i])
    if i%2==0:

        Dp[i] = min(Dp[int(i/2)]+1,Dp[i])



print(Dp[inp])

참쉽죠?

profile
오늘 뭐하지///?

0개의 댓글