[Day_34] 프로그래머스 숫자 변환하기_파이썬 (dp)

LUNA·2023년 3월 23일
0

https://school.programmers.co.kr/learn/courses/30/lessons/154538

코드

def solution(x, y, n):
    answer = 0
    
    dp=set()
    dp.add(x)
    
    while dp: #dp에 데이터가 더이상 없을때까지
        if y in dp:
            return answer
        else:
            dp_y=set()

            for i in dp:
                if i+n<=y:
                    dp_y.add(i+n)
                if i*2<=y:
                    dp_y.add(i*2)
                if i*3<=y:
                    dp_y.add(i*3)
            dp=dp_y    
            answer+=1
            
    return -1

 

set()

집합 형태
중복을 막기위해 사용

profile
Happiness

0개의 댓글