J1Yun
ZU-TECHLOG
J1Yun
전체 방문자
였늘
μ–΄μ œ
  • πŸ“‘ Category (135)
    • Algorithm (61)
      • πŸ“š Concept (6)
      • πŸ“˜ Baekjoon Judge (53)
      • πŸ“— Programmers (2)
    • Computer Science (42)
      • πŸ”’ Operating System (14)
      • πŸ“‘ Network (15)
      • πŸ’Ύ Database (8)
      • 🧩 Design Pattern (4)
      • πŸ”‘ Security (1)
    • Activities (12)
      • 🦁 λ©‹μŸμ΄μ‚¬μžμ²˜λŸΌ 9κΈ° (6)
      • πŸ’» SWλ§ˆμ—μŠ€νŠΈλ‘œ 13κΈ° (6)
    • Infra (1)
      • ☁️ AWS (1)
    • Languages (1)
      • πŸ’™ Python (1)
    • Backend (7)
      • πŸ”΅ Django (4)
      • 🟒 Node.js (3)
    • Ect. (8)
      • πŸ’¬ Talk (0)
      • πŸ—‚οΈ 개발직ꡰ μ·¨μ—… μ€€λΉ„μžλ£Œ (8)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

250x250
hELLO Β· Designed By μ •μƒμš°.
J1Yun

ZU-TECHLOG

[BOJ] λ°±μ€€ 1697번 μˆ¨λ°”κΌ­μ§ˆ - 파이썬(Python)
Algorithm/πŸ“˜ Baekjoon Judge

[BOJ] λ°±μ€€ 1697번 μˆ¨λ°”κΌ­μ§ˆ - 파이썬(Python)

728x90

문제

μˆ˜λΉˆμ΄λŠ” 동생과 μˆ¨λ°”κΌ­μ§ˆμ„ ν•˜κ³  μžˆλ‹€. μˆ˜λΉˆμ΄λŠ” ν˜„μž¬ 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 μžˆλ‹€. μˆ˜λΉˆμ΄λŠ” κ±·κ±°λ‚˜ μˆœκ°„μ΄λ™μ„ ν•  수 μžˆλ‹€. λ§Œμ•½, 수빈이의 μœ„μΉ˜κ°€ X일 λ•Œ κ±·λŠ”λ‹€λ©΄ 1초 후에 X-1 λ˜λŠ” X+1둜 μ΄λ™ν•˜κ²Œ λœλ‹€. μˆœκ°„μ΄λ™μ„ ν•˜λŠ” κ²½μš°μ—λŠ” 1초 후에 2*X의 μœ„μΉ˜λ‘œ μ΄λ™ν•˜κ²Œ λœλ‹€.

μˆ˜λΉˆμ΄μ™€ λ™μƒμ˜ μœ„μΉ˜κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, μˆ˜λΉˆμ΄κ°€ 동생을 찾을 수 μžˆλŠ” κ°€μž₯ λΉ λ₯Έ μ‹œκ°„μ΄ λͺ‡ 초 후인지 κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫 번째 쀄에 μˆ˜λΉˆμ΄κ°€ μžˆλŠ” μœ„μΉ˜ Nκ³Ό 동생이 μžˆλŠ” μœ„μΉ˜ Kκ°€ μ£Όμ–΄μ§„λ‹€. Nκ³Ό KλŠ” μ •μˆ˜μ΄λ‹€.

좜λ ₯

μˆ˜λΉˆμ΄κ°€ 동생을 μ°ΎλŠ” κ°€μž₯ λΉ λ₯Έ μ‹œκ°„μ„ 좜λ ₯ν•œλ‹€.

 

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

 

1697번: μˆ¨λ°”κΌ­μ§ˆ

μˆ˜λΉˆμ΄λŠ” 동생과 μˆ¨λ°”κΌ­μ§ˆμ„ ν•˜κ³  μžˆλ‹€. μˆ˜λΉˆμ΄λŠ” ν˜„μž¬ 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 μžˆλ‹€. μˆ˜λΉˆμ΄λŠ” κ±·κ±°λ‚˜ μˆœκ°„μ΄λ™μ„ ν•  수 μžˆλ‹€. λ§Œμ•½, 수빈이의 μœ„μΉ˜κ°€ X일

www.acmicpc.net

 

πŸ’‘ 풀이 및 μ½”λ“œ

from collections import deque

n, k = map(int, input().split())
graph = [-1] * 100001
dq = [1, -1, 2]

def bfs(start):
    queue = deque()
    queue.append(start)
    graph[start] = 0
    
    while queue:
        q = queue.popleft()
        
        for i in dq:
            nq = q * 2 if i == 2 else q + i
            if 0 <= nq <= 100000 and graph[nq] == -1:
                queue.append(nq)
                graph[nq] = graph[q] + 1
            if nq == k:
                return graph[nq]

print(bfs(n))

 

  처음 이 문제λ₯Ό 읽고 κ·Έλž˜ν”„ 탐색 λ¬Έμ œμž„μ„ μ•Œμ•„μ±„μ§€ λͺ»ν–ˆλ‹€. 힌트λ₯Ό λ³΄κ³ μ„œμ•Ό 정점 xκ°€ 정점 x-1, x+1, x*2와 μ—°κ²°λ˜μ–΄ μžˆλŠ” ν˜•νƒœμž„μ„ μ•Œκ³  BFSλ₯Ό μ μš©ν•˜μ˜€λ‹€. 또, μ²˜μŒμ—λŠ” λ°©λ¬Έμ²˜λ¦¬κ°€ ν•„μš”ν•˜μ§€ μ•Šλ‹€κ³  μƒκ°ν•˜μ˜€μœΌλ‚˜ 방문처리λ₯Ό ν•΄μ£Όμ§€ μ•ŠμœΌλ©΄ 쀑볡 탐색에 λ°œμƒν•˜μ—¬ λ©”λͺ¨λ¦¬ μ΄ˆκ³Όκ°€ λ–΄λ‹€.

문제λ₯Ό 보자마자 μ•Œκ³ λ¦¬μ¦˜μ„ λ– μ˜¬λ¦¬κΈ° μœ„ν•΄μ„  μ—°μŠ΅μ΄ λ”μš± ν•„μš”ν•  것 κ°™λ‹€!

728x90

'Algorithm > πŸ“˜ Baekjoon Judge' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[BOJ] λ°±μ€€ 2468번 μ•ˆμ „ μ˜μ—­ - 파이썬(Python)  (0) 2021.07.18
[BOJ] λ°±μ€€ 2583번 μ˜μ—­ κ΅¬ν•˜κΈ° - 파이썬(Python)  (0) 2021.07.17
[BOJ] λ°±μ€€ 7576번 ν† λ§ˆν†  - 파이썬(Python)  (0) 2021.07.15
[BOJ] λ°±μ€€ 2667번 λ‹¨μ§€λ²ˆν˜ΈλΆ™μ΄κΈ° - 파이썬(Python)  (0) 2021.07.15
[BOJ] λ°±μ€€ 2178번 미둜 탐색 - 파이썬(Python)  (0) 2021.07.15
    'Algorithm/πŸ“˜ Baekjoon Judge' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ 글이닀
    • [BOJ] λ°±μ€€ 2468번 μ•ˆμ „ μ˜μ—­ - 파이썬(Python)
    • [BOJ] λ°±μ€€ 2583번 μ˜μ—­ κ΅¬ν•˜κΈ° - 파이썬(Python)
    • [BOJ] λ°±μ€€ 7576번 ν† λ§ˆν†  - 파이썬(Python)
    • [BOJ] λ°±μ€€ 2667번 λ‹¨μ§€λ²ˆν˜ΈλΆ™μ΄κΈ° - 파이썬(Python)
    J1Yun
    J1Yun
    개발 κ΄€λ ¨ 기술 및 곡뢀 λ‚΄μš© 기둝μž₯

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”