glowing713
Frontend-Deep-Dive
glowing713
전체 방문자
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기 (97)
    • Languages (11)
      • JavaScript πŸ’› (3)
      • Python 🐍 (4)
      • Java β˜•οΈ (3)
      • Swift 🧑 (1)
    • Computer_Science (1)
      • Computer_Network πŸ•Έ (1)
    • Web_Frontend (4)
      • Vue.js (1)
    • Problem_Solving (76)
    • Server (1)
      • Spring πŸ€ (1)
    • AI (2)
      • NLP πŸ—£ (1)
      • AI_Math βž— (1)
    • κ°œλ°œν™˜κ²½ κΎΈλ―ΈκΈ° ✌ (1)
    • 생각정리 ✍🏻 (1)

λΈ”λ‘œκ·Έ 메뉴

  • πŸ§‘πŸ»β€πŸ’»Github

곡지사항

인기 κΈ€

νƒœκ·Έ

  • boostcampaitech
  • brute-force
  • Java
  • bfs
  • 완전탐색
  • 이뢄탐색
  • Algorithm
  • mst
  • c++
  • ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€
  • Stack
  • BOJ
  • 카카였 기좜
  • λ™μ κ³„νšλ²•
  • Baekjoon
  • Python
  • binary search
  • DP
  • ps
  • 2019 카카였 개발자 겨울 인턴십

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
glowing713

Frontend-Deep-Dive

[BOJ] λ°±μ€€ 13549 μˆ¨λ°”κΌ­μ§ˆ 3 / BFS
Problem_Solving

[BOJ] λ°±μ€€ 13549 μˆ¨λ°”κΌ­μ§ˆ 3 / BFS

2021. 1. 12. 20:41

이미지λ₯Ό ν΄λ¦­ν•˜λ©΄ 문제 μ‚¬μ΄νŠΈλ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

 

 

πŸ’­ 문제 이해

μˆ˜λΉˆμ΄λŠ” λ™μ‹œμ— -1, +1, *2 λΌλŠ” μ„Έ κ°€μ§€μ˜ 선택지 쀑 ν•˜λ‚˜λ₯Ό 골라 μ΄λ™ν•˜κ²Œ λœλ‹€.

쒌우둜 μ΄λ™ν•˜λŠ” 두 κ°€μ§€μ˜ 선택은 λ™μ‹œμ— 1초 μ”© μ¦κ°€ν•˜μ§€λ§Œ 이 λ¬Έμ œλŠ” λ‹€λ₯Έ μˆ¨λ°”κΌ­μ§ˆ λ¬Έμ œμ™€ λ‹€λ₯΄κ²Œ 

*2둜 μ΄λ™ν•˜λŠ” 선택은 μ‹œκ°„μ΄ μ¦κ°€ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” νŠΉμ§•μ΄ μžˆλ‹€.

λ„ˆλΉ„ μš°μ„  탐색을 μ„ νƒν–ˆλ‹€.

 

 

 

κ΅¬ν˜„ μ–Έμ–΄: Python

 

from collections import deque


def solve():
    global n, k, sec
    queue = deque()
    # μ‹œμž‘μ  μ„ΈνŒ…
    queue.append(n)
    sec[n] = 0
    
    while queue:
        now = queue.popleft()
        
        # μˆœκ°„μ΄λ™: μ‹œκ°„ 증가 μ•ˆν•¨
        if 0 <= 2*now <= 100000:
            if sec[2*now] == -1:
                sec[2*now] = sec[now]
                queue.append(2*now)
        # μ’Œμš°μ΄λ™: 1초 증가
        for next in (now-1, now+1):
            if 0 <= next <= 100000:
                if sec[next] == -1:
                    sec[next] = sec[now] + 1
                    queue.append(next)


n, k = map(int, input().split())
sec = [-1]*100001    # 이동 μ‹œκ°„ 기둝
solve()
print(sec[k])
μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ λ³€κ²½κΈˆμ§€ (μƒˆμ°½μ—΄λ¦Ό)

'Problem_Solving' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[BOJ] λ°±μ€€ 2468 μ•ˆμ „ μ˜μ—­ / BFS  (0) 2021.01.13
[BOJ] λ°±μ€€ 5014 μŠ€νƒ€νŠΈλ§ν¬ / BFS  (0) 2021.01.13
[BOJ] λ°±μ€€ 13913 μˆ¨λ°”κΌ­μ§ˆ 4 / BFS  (0) 2021.01.12
[BOJ] λ°±μ€€ 12851 μˆ¨λ°”κΌ­μ§ˆ 2 / BFS  (0) 2021.01.12
[BOJ] λ°±μ€€ 1697 μˆ¨λ°”κΌ­μ§ˆ / BFS  (0) 2021.01.07
    'Problem_Solving' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [BOJ] λ°±μ€€ 2468 μ•ˆμ „ μ˜μ—­ / BFS
    • [BOJ] λ°±μ€€ 5014 μŠ€νƒ€νŠΈλ§ν¬ / BFS
    • [BOJ] λ°±μ€€ 13913 μˆ¨λ°”κΌ­μ§ˆ 4 / BFS
    • [BOJ] λ°±μ€€ 12851 μˆ¨λ°”κΌ­μ§ˆ 2 / BFS
    glowing713
    glowing713

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