[백준]25418번: 정수 a를 k로 만들기 (파이썬)

2024. 10. 23. 23:55·코딩테스트/BOJ

📌 문제 탐색하기

 A와 K가 주어지면, (A + 1), (2 * A) 두 종류의 연산을 통해 A를 K로 만들기 위한 최소 연산의 횟수를 출력해야한다.

🔎  시간 복잡도

  • 1 ≤ A < K ≤ 1,000,000 숫자 내에서 BFS를 사용해 최단 경로를 찾으므로 시간복잡도는 O(N)이다.

🔎 접근 방법 및 알고리즘

새로운 숫자를 방문할 때 그 숫자까지의 최소 연산 횟수를 기록하고 새로운 숫자를 큐에 추가해야한다. 

📌 코드 설계하기

1. A와 K를 입력받는다.

2. 데큐를 사용해서 큐를 만든다.

3. 딕셔너리 V는 각 숫자까지의 최소 연산 횟수를 저장한다

4. BFS탐색: 만약 현재 숫자 C가 K라면, 탐색을 종료한다. 

5. v[x] = v[c] + 1 # 연산 횟수 기록

6. q += [x] # 큐에 새로운 숫자 추가

📌 시도 회차 수정사항

📌 정답 코드 

from collections import deque
a,k=map(int,input().split())
q=deque([a])
v={a:0}

while q:
    c=q.popleft()
    if c==k: break
    for x in [2*c,c+1]:
        if x in v or x>k: continue
        v[x]=v[c]+1
        q+=[x]
        
print(v[k])

'코딩테스트 > BOJ' 카테고리의 다른 글

[백준] 17266번: 어두운 굴다리 (이분탐색, 파이썬)  (0) 2024.10.19
[백준] 2503번: 숫자 야구 (구현, 파이썬)  (1) 2024.10.16
[백준] 13567번: 로봇 (구현, 파이썬)  (0) 2024.10.15
[백준] 2096: 내려가기 (DP, 파이썬)  (0) 2024.10.14
[백준] 14430: 자원 캐기 (파이썬)  (0) 2024.10.12
'코딩테스트/BOJ' 카테고리의 다른 글
  • [백준] 17266번: 어두운 굴다리 (이분탐색, 파이썬)
  • [백준] 2503번: 숫자 야구 (구현, 파이썬)
  • [백준] 13567번: 로봇 (구현, 파이썬)
  • [백준] 2096: 내려가기 (DP, 파이썬)
뚱이, not a starfish
뚱이, not a starfish
M.S. Student,. Mainly interested in computer vision and autonomous cars
  • 뚱이, not a starfish
    Wilbur-Babo
    뚱이, not a starfish
  • 전체
    오늘
    어제
    • 분류 전체보기 (194)
      • 통신 및 네트워크 (12)
      • Embedded Projects (2)
      • 3D Reconstruction (1)
        • Gaussian Splatting (0)
        • 3D-GS (1)
        • Multi-view Geometry (0)
        • VSLAM (0)
        • Computer Graphics (0)
      • LLM(VLM) (0)
      • AI-Study (28)
        • Mono-Depth (7)
        • Base (2)
        • Computer Vision (1)
        • Image Processing (3)
        • Tiny Object Detection (3)
      • 자율주행 (20)
        • [2023] 1-fifth AA EV (4)
        • [2022] 1-tenth AA EV (2)
        • ROS 1,2 (4)
        • 이론 (7)
        • 실습 (3)
      • Pointcloud (0)
      • sw (16)
        • 정보보안 (1)
        • Android_develop (3)
      • [학부] 전기전자공학 (12)
        • 반도체 (2)
        • 마이크로프로세서 (6)
      • 코딩테스트 (22)
        • BOJ (21)
      • 취준 (21)
        • EVS37 Ambassador (5)
        • 차량 제어 플랫폼 (5)
        • 영어 (3)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    오픽후기
    자율주행시험
    현대차3월신입후기
    현대자동차 자율주행 서류 합격 후기
    software defined vehicle
    현대자동차최종면접결과
    tar 파일
    evs37 sdv
    자율주행
    evs37sdv
    우분투터미널
    tar압축풀기
    현차 자율주행
    현차떨
    EVS37
    심포지움
    현차 3월 신입 서류
    정렬
    자율주행작품
    오블완챌린지
    rc카
    현대자동차최종불합
    자율주행자동차
    현차 3월 자율주행
    자율주행경진대회
    헤네스유아용자동차
    현대자동차 자율주행
    현대자동차 연구개발
    헤네스
    현대자동차 서류합격후기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
뚱이, not a starfish
[백준]25418번: 정수 a를 k로 만들기 (파이썬)
상단으로

티스토리툴바