알고리즘/프로그래머스
[프로그래머스] 숫자 변환하기 파이썬 lv2
푸딩코딩
2023. 6. 24. 12:45
728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/154538
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
def solution(x, y, n):
s = set() #순서가 없다. 중복이 없다. set은 집합
s.add(x) #s집합에 x넣음
cnt=0 #최소횟수를 세는
while(s):
if(y in s): #같으면 종료, cnt 반환
return cnt
t=set() #임시로 빈 집합 만들어준다
for i in s: #s의 원소에 대해 수행하고, 빈 집합 t에 추가해주어 원소 갱신
if(i*2<=y):
t.add(i*2)
if(i*3<=y):
t.add(i*3)
if(i+n<=y):
t.add(i+n)
s=t #s를 t로 대치
cnt+=1
return -1
처음에는 DFS로 접근했다가 comparison 오류가 나서 다른 방법을 찾음
728x90
반응형