Algorithm/Baekjoon

BOJ 1463 1로 만들기 Python3

Bonita SY 2023. 6. 28. 15:48
728x90
반응형

https://www.acmicpc.net/problem/1463

 

1463번: 1로 만들기

첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.

www.acmicpc.net

 

 

from collections import deque
import sys
input = sys.stdin.readline

X = int(input())

def dfs():
    queue = deque()
    queue.append((X, 0))
    while queue:
        x, cnt = queue.popleft()
        if x == 1:
            print(cnt)
            return

        if (x % 3) == 0:
            queue.append((x//3, cnt+1))

        if (x % 2) == 0:
            queue.append((x//2, cnt+1))

        queue.append((x-1, cnt+1))

dfs()
728x90
반응형

'Algorithm > Baekjoon' 카테고리의 다른 글

BOJ 2606 바이러스 Python3  (0) 2023.07.06
BOJ 13458 시험 감독 Python3  (0) 2023.07.03
BOJ 12100 2048 (Easy) Python3  (0) 2023.06.27
BOJ 1992 쿼드트리 python3  (0) 2023.06.22
17142 java 연습  (0) 2021.08.12