[BOJ / 백준] 16953번 A → B 파이썬(Python) 문제 풀이

2021. 10. 6. 22:30·Baekjoon
728x90

문제

 

문제 링크 : https://www.acmicpc.net/problem/16953

 

16953번: A → B

첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다.

www.acmicpc.net

 

 

 

 

CODE

import sys
from collections import deque

input = sys.stdin.readline


def solve(a, b):
    q = deque([(a, 1)])

    while q:
        now, cnt = q.popleft()
        if now == b:
            print(cnt)
            return

        if now * 2 <= b:
            q.append((now * 2, cnt + 1))
        if now * 10 + 1 <= b:
            q.append((now * 10 + 1, cnt + 1))
    print(-1)


a, b = map(int, input().split())
solve(a, b)

 

 

 

 

 

풀이

💡 idea

- BFS로 풀이!

- 쭉 풀어온 BFS 문제와 다른 부분이 없어 설명할 게 딱히 없네요,,,

 

💡 others

56ms 로 해결한 분의 풀이를 보면

m이 1로 끝날 때에는 10으로 나누고 2로 나누어 떨어질 땐 2로 나누는 식의 풀이를 하셨네요..!

n이 m보다 크거나 연산을 수행할 수 없을 때에는 count를 -2로 설정하여

후에 출력할 때 -1이 출력되도록 작성하셨습니다

훌륭한 코드 구경하고 가세요 🙇‍♀️

n,m = map(int,input().split())
count=0
while n!=m:
    if n>m:
        count=-2
        break
    elif str(m)[-1]=='1':
        m=m//10
        count+=1
    elif m%2==0:
        m=m//2
        count+=1
    else:
        count=-2
        break
print(count+1)

 

 

 

 

 

결과

 

 

 

 

 

 

 

728x90
저작자표시 비영리 (새창열림)

'Baekjoon' 카테고리의 다른 글

[BOJ / 백준] 2933번 미네랄 파이썬(Python) 문제 풀이  (0) 2024.01.05
[BOJ / 백준] 1743번 음식물 피하기파이썬(Python) 문제 풀이  (0) 2021.10.06
[BOJ / 백준] 6603번 로또 파이썬(Python) 문제 풀이  (0) 2021.10.06
[BOJ / 백준] 11724번 연결 요소의 개수 파이썬(Python) 문제 풀이  (0) 2021.10.06
[BOJ / 백준] 2606번 바이러스 파이썬(Python) 문제 풀이  (0) 2021.10.06
'Baekjoon' 카테고리의 다른 글
  • [BOJ / 백준] 2933번 미네랄 파이썬(Python) 문제 풀이
  • [BOJ / 백준] 1743번 음식물 피하기파이썬(Python) 문제 풀이
  • [BOJ / 백준] 6603번 로또 파이썬(Python) 문제 풀이
  • [BOJ / 백준] 11724번 연결 요소의 개수 파이썬(Python) 문제 풀이
s_ih_yun
s_ih_yun
  • s_ih_yun
    CODESYUN
    s_ih_yun
  • 전체
    오늘
    어제
    • 분류 전체보기 (352)
      • Web (8)
      • Java (7)
      • Spring (26)
      • Git (16)
      • MyBatis (1)
      • FrontEnd (17)
      • JavaScript (11)
      • DevOps (6)
      • Project (0)
      • Cloud (9)
      • Lanuage (13)
        • C++ (3)
        • Python (10)
      • DB (4)
        • MySQL (1)
        • Oracle (2)
      • Computer Science (26)
        • Concept (3)
        • Algorithm (23)
      • Baekjoon (104)
        • 단계별로 풀어보기 (78)
      • CodeUp (98)
        • Python 기초 100제 (98)
      • Programmers (2)
      • Books (3)
      • etc (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • Syun's Pages
  • 인기 글

  • 태그

    BOJ
    Python
    c++
    HTML
    CSS
    웹
    CodeUp 기초 100제
    JavaScript
    단계별로 풀어보기
    aws
    java
    MySQL
    알고리즘
    자료구조
    Tistory
    codeup
    oracle
    spring
    C
    Programmers
    myBatis
    clean code
    git
    db
    VS Code
    Cloud
    web
    SourceTree
    github
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_ih_yun
[BOJ / 백준] 16953번 A → B 파이썬(Python) 문제 풀이
상단으로

티스토리툴바