[백준]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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바