#16953

zzwwoonn·2022년 5월 9일
1

Algorithm

목록 보기
17/71

기본 중에 기본 중에 기본 중에 기본 형식의 dfs 라고 생각했다. 보자마자 어떻게 풀어야 할 지 눈에 훤히 보이면서? 다 짜고 테스트 케이스가 한번에 다 맞았고 첫 번째 제출할 때 바로 정답이 나왔다. 순간에 처음으로 든 생각은 "와 나 진짜 재능있나..?"

꾸준하게 하자.
잘하는 거보다 꾸준하게 하는 게 더 어렵고 힘들고 대단한 일이다.

start, end = map(int, input().split())
cnt = 0
answerList = []

def dfs():
    global start, end, cnt

    if start == end:
        cnt += 1
        answerList.append(cnt)
        return 

    elif start > end:
        return

    start *= 2
    cnt += 1
    dfs()
    start /= 2
    cnt -= 1
    start = int(start)

    start = str(start) + "1"
    cnt += 1
    start = int(start)
    dfs()
    start = str(start)
    start = start[0:-1]
    start = int(start)
    cnt -= 1

dfs()

if len(answerList) == 0:
    print(-1)
else:
    print(min(answerList))

0개의 댓글