99클럽 코테 스터디 16일차 TIL + 숫자 변환하기

Saang Bum Kim·2024년 5월 7일
0

99클럽

목록 보기
31/59

문제

링크텍스트

난관

  • 계속 시간 초과 ㅠㅠ
  • set을 사용하여 한 번 계산한 중간 변환 값은 다시 계산하지 않도록 하여 간신히 성공 ;;;

결과

def solution(x, y, n):
    if x == y:
        return 0
    def f_t(x,n,id):
        if id==0:
            return x+n
        elif id==1:
            return x*2
        else:
            return x*3
    s = set()
    s.add(x)
    s_r = s.copy()
    m = 1
    while True:
        si = set()
        for xi in s:
            for fi in range(3):
                yi = f_t(xi,n,fi)
                if yi == y:
                    return m
                elif yi < y:
                    si.add(yi)
        if len(si) == 0:
            return -1
        else:
            s = si - s_r
            s_r.union(s)
            m += 1

profile
old engineer

0개의 댓글