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

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • Baekjoon
  • Python
  • brute-force
  • ์นด์นด์˜ค ๊ธฐ์ถœ
  • Stack
  • boostcampaitech
  • ์ด๋ถ„ํƒ์ƒ‰
  • 2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‹ญ
  • Java
  • binary search
  • ps
  • BOJ
  • c++
  • bfs
  • Algorithm
  • ์™„์ „ํƒ์ƒ‰
  • mst
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • DP
  • ๋™์ ๊ณ„ํš๋ฒ•

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
glowing713

Frontend-Deep-Dive

[BOJ] ๋ฐฑ์ค€ 12851 ์ˆจ๋ฐ”๊ผญ์งˆ 2 / BFS
Problem_Solving

[BOJ] ๋ฐฑ์ค€ 12851 ์ˆจ๋ฐ”๊ผญ์งˆ 2 / BFS

2021. 1. 12. 18:20

์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋ฌธ์ œ ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ’ญ ๋ฌธ์ œ ์ดํ•ด

์ˆ˜๋นˆ์ด๋Š” ๋™์‹œ์— -1, +1, *2 ๋ผ๋Š” ์„ธ ๊ฐ€์ง€์˜ ์„ ํƒ์ง€ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ณจ๋ผ ์ด๋™ํ•˜๊ฒŒ ๋œ๋‹ค.

์ด๋™ํ•˜๋Š” ์„ธ ๊ฐ€์ง€์˜ ์„ ํƒ์ด ๋™์‹œ์— 1์ดˆ ์”ฉ ์ฆ๊ฐ€ํ•˜๋ฏ€๋กœ ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰์„ ์„ ํƒํ–ˆ๋‹ค.

 

๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ๊ฐ„์œผ๋กœ ์ฐพ์•„๊ฐ€๋Š” ๋ฐฉ๋ฒ•์ด ์ด ๋ช‡ ๊ฐ€์ง€์ธ์ง€๋„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด ํฌ์ธํŠธ์ด๋‹ค.

ํ˜„์žฌ ๊ฒฝ๋กœ๊นŒ์ง€์˜ cnt๊ฐ€ ๋‹ค์Œ ๊ฒฝ๋กœ์—๋„ ํ•ฉ์‚ฐ์ด ๋˜๋ฏ€๋กœ ๋งˆ์น˜ ๋ถ€๋ถ„์ ์œผ๋กœ dp ๋ฌธ์ œ์™€ ๊ฐ™์€ ๋А๋‚Œ์ด ๋“ค์—ˆ๋‹ค.

 

 

๊ตฌํ˜„ ์–ธ์–ด: Python

 

 

from collections import deque


def solve():
    global n, k, sec, cnt
    queue = deque()
    queue.append(n)  # ์‹œ์ž‘์ ์„ ๋จผ์ € ๋‹ด๋Š”๋‹ค.
    sec[n] = 0
    cnt[n] = 1
    
    while queue:
        now = queue.popleft()
        for next in (now - 1, now + 1, now * 2):
            # ์ฃผ์–ด์ง„ ๋ฒ”์œ„ ๋‚ด์— ์žˆ๊ณ 
            if 0 <= next <= 100000:
                # ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๊ณณ์ผ ๋•Œ,
                if sec[next] == -1:
                    sec[next] = sec[now] + 1
                    cnt[next] = cnt[now]
                    queue.append(next)
                # ๋ฐฉ๋ฌธํ–ˆ๋˜ ๊ณณ์ผ ๋•Œ,
                # ์ด์ „์— ๊ธฐ๋ก๋œ ์ตœ์†Œ ์‹œ๊ฐ„๊ณผ ๋™์ผํ•œ ์‹œ๊ฐ„์œผ๋กœ ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ ์ถ”๊ฐ€
                elif sec[next] == sec[now] + 1:
                    cnt[next] += cnt[now]


n, k = map(int, input().split())
sec = [-1] * 100001
cnt = [0] * 100001
solve()
print(sec[k])
print(cnt[k])
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Problem_Solving' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ] ๋ฐฑ์ค€ 13549 ์ˆจ๋ฐ”๊ผญ์งˆ 3 / BFS  (0) 2021.01.12
[BOJ] ๋ฐฑ์ค€ 13913 ์ˆจ๋ฐ”๊ผญ์งˆ 4 / BFS  (0) 2021.01.12
[BOJ] ๋ฐฑ์ค€ 1697 ์ˆจ๋ฐ”๊ผญ์งˆ / BFS  (0) 2021.01.07
[BOJ] ๋ฐฑ์ค€ 7569 ํ† ๋งˆํ†  / BFS  (0) 2021.01.05
[BOJ] ๋ฐฑ์ค€ 2644 ์ดŒ์ˆ˜๊ณ„์‚ฐ / BFS, DFS  (0) 2021.01.05
    'Problem_Solving' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [BOJ] ๋ฐฑ์ค€ 13549 ์ˆจ๋ฐ”๊ผญ์งˆ 3 / BFS
    • [BOJ] ๋ฐฑ์ค€ 13913 ์ˆจ๋ฐ”๊ผญ์งˆ 4 / BFS
    • [BOJ] ๋ฐฑ์ค€ 1697 ์ˆจ๋ฐ”๊ผญ์งˆ / BFS
    • [BOJ] ๋ฐฑ์ค€ 7569 ํ† ๋งˆํ†  / BFS
    glowing713
    glowing713

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”