Search

12851. ์ˆจ๋ฐ”๊ผญ์งˆ 2

ํ”Œ๋žซํผ
BOJ
๋ถ„๋ฅ˜
๋‹ต ๋ณธ ๋ฌธ์ œ
์•Œ๊ณ ๋ฆฌ์ฆ˜
DFS/BFS
์ค‘์š”๋„
โญ๏ธโญ๏ธโญ๏ธ
ํ‹ฐ์–ด
Gold
๋‹ค์‹œ ํ’€์–ด๋„ ํ‹€๋ฆด ๊ฒƒ ๊ฐ™์€ ๋ฌธ์ œ
Created At
2022/02/05 13:26
Updated At
2023/04/05 11:59
Writer
์ƒํƒœ
์™„๋ฃŒ

Problem

๋ฌธ์ œ

์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์  N(0 โ‰ค N โ‰ค 100,000)์— ์žˆ๊ณ , ๋™์ƒ์€ ์  K(0 โ‰ค K โ‰ค 100,000)์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑท๊ฑฐ๋‚˜ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ ๋•Œ ๊ฑท๋Š”๋‹ค๋ฉด 1์ดˆ ํ›„์— X-1 ๋˜๋Š” X+1๋กœ ์ด๋™ํ•˜๊ฒŒ ๋œ๋‹ค. ์ˆœ๊ฐ„์ด๋™์„ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” 1์ดˆ ํ›„์— 2*X์˜ ์œ„์น˜๋กœ ์ด๋™ํ•˜๊ฒŒ ๋œ๋‹ค.
์ˆ˜๋นˆ์ด์™€ ๋™์ƒ์˜ ์œ„์น˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ˆ˜๋นˆ์ด๊ฐ€ ๋™์ƒ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ๊ฐ„์ด ๋ช‡ ์ดˆ ํ›„์ธ์ง€ ๊ทธ๋ฆฌ๊ณ , ๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ๊ฐ„์œผ๋กœ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์ด ๋ช‡ ๊ฐ€์ง€ ์ธ์ง€ย ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ ๋ฒˆ์งธ ์ค„์— ์ˆ˜๋นˆ์ด๊ฐ€ ์žˆ๋Š” ์œ„์น˜ N๊ณผ ๋™์ƒ์ด ์žˆ๋Š” ์œ„์น˜ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.ย N๊ณผ K๋Š” ์ •์ˆ˜์ด๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ์ˆ˜๋นˆ์ด๊ฐ€ ๋™์ƒ์„ ์ฐพ๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•œ๋‹ค.
๋‘˜์งธ ์ค„์—๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ๊ฐ„์œผ๋กœ ์ˆ˜๋นˆ์ด๊ฐ€ ๋™์ƒ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1

5 17
Plain Text
๋ณต์‚ฌ

์˜ˆ์ œ ์ถœ๋ ฅ 1

4 2
Plain Text
๋ณต์‚ฌ

Code

ย #1

Idea

์ผ๋ฐ˜์ ์ธ bfs ๊ณผ์ •
1.
ํ์—์„œ ๋…ธ๋“œ ํ•˜๋‚˜ pop
2.
popํ•œ ๋…ธ๋“œ์˜ ์ธ์ ‘๋…ธ๋“œ(์ž์‹๋…ธ๋“œ)๋ฅผ ํƒ์ƒ‰
3.
์ธ์ ‘๋…ธ๋“œ ์ค‘ ๋ฏธ๋ฐฉ๋ฌธ๋…ธ๋“œ๋งŒ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ ํ›„, ํ์— ์ถ”๊ฐ€
์ด๋Ÿฌํ•œ ์ผ๋ฐ˜์ ์ธ bfs ๋กœ ๊ตฌํ˜„์„ ํ•˜๋ฉด, ํ•œ ๋ฒˆ ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋Š” ๋‹ค์‹œ ํ์— ์ถ”๊ฐ€๋˜์ง€ ์•Š๋Š”๋‹ค.
๊ทธ๋Ÿฐ๋ฐ ์ด ๋ฌธ์ œ์—์„œ๋Š” ์ด๋ฏธ ๋ฐฉ๋ฌธํ•œ ๊ฐ™์€ ๋…ธ๋“œ๋”๋ผ๋„, ์นด์šดํŒ…์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
17๋ฒˆ ๋…ธ๋“œ๊นŒ์ง€ ์ตœ๋‹จ๊ฑฐ๋ฆฌ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•  ๋•Œ, 4โ†’8โ†’16โ†’17 ๊ฒฝ๋กœ์—์„œ 17๋ฒˆ ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธ์ฒดํฌ ํ–ˆ์œผ๋ฏ€๋กœ, 10โ†’9โ†’18 ๊ฒฝ๋กœ์—์„œ 17๋ฒˆ ๋…ธ๋“œ๊ฐ€ ์ด๋ฏธ ์•ž์—์„œ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋์œผ๋ฏ€๋กœ, 17๋ฒˆ ๋…ธ๋“œ๋Š” ๊ฑธ๋Ÿฌ์ง€๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์นด์šดํŒ…์ด ์•ˆ ๋œ๋‹ค.
๊ทธ๋Ÿผ ํ˜„์žฌ๋…ธ๋“œ์˜ ์ธ์ ‘๋…ธ๋“œ(์ž์‹๋…ธ๋“œ)๋ฅผ ํƒ์ƒ‰ํ•  ๋•Œ, ์šฐ๋ฆฌ๊ฐ€ ์ฐพ๋Š” ๋…ธ๋“œ(ex.17๋ฒˆ๋…ธ๋“œ)๋งŒ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์„œ ์นด์šดํŒ…์„ ํ•˜๋ฉด ๋˜๊ฒ ์ง€ ์‹ถ์–ด์„œ ํ–ˆ๋Š”๋ฐ ๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š” ํ‹€๋ฆฌ๋‹ค.
์œ„์ฒ˜๋Ÿผ ๊ฐ™์€ ๋ถ€๋ชจ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๊ฒน์น˜๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐ˜๋ก€์ด๋‹ค. 1๋ฒˆ ๋…ธ๋“œ ์ž…์žฅ์—์„œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ฐพ๋Š” ๋…ธ๋“œ์ธ 6๋ฒˆ ๋…ธ๋“œ๋„ ์•ˆ ๋ณด์ด๊ณ  ๋ฟ๋งŒ์•„๋‹ˆ๋ผ 3๋ฒˆ๋…ธ๋“œ๋„ ๋ชจ๋ฅด๋Š” ์ƒํƒœ์ด๋‹ค.
๋ฃจํŠธ๋…ธ๋“œ์ธ 1๋ฒˆ ๋…ธ๋“œ๋ฅผ popํ•˜๊ฒŒ ๋˜๋ฉด, 0๋ฒˆ,2๋ฒˆ ๋…ธ๋“œ๋งŒ ๋‹ด๊ธฐ๊ฒŒ ๋œ๋‹ค.
๋งˆ์ง€๋ง‰ 2๋ฒˆ ๋…ธ๋“œ๊ฐ€ ์•ˆ ๋‹ด๊ธฐ๋ฏ€๋กœ ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ ํ‹€๋ ค์ง€๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
๋”ฐ๋ผ์„œ ํ˜„์žฌ ๋ ˆ๋ฒจ์— ๊ฐ™์€ ๋…ธ๋“œ๊ฐ€ ์žˆ๋Š”์ง€๋ฅผ ํ•ญ์ƒ ์ฒดํฌํ•ด์ค˜์•ผ ํ•œ๋‹ค.
๋ฌผ๋ก  ์ผ๋ฐ˜์ ์ธ bfs๋ฐฉ์‹์—์„œ ํ˜„์žฌ ๋ ˆ๋ฒจ์—์„œ ๋™์ผํ•œ ๋…ธ๋“œ๋Š” ํ์— ๋‹ด๊ธฐ์ง€๋Š” ์•Š๋Š”๋‹ค. (์ด๋ฏธ ๋ฐฉ๋ฌธ์„ ํ–ˆ์œผ๋ฏ€๋กœ)
์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฃจํŠธ ๋…ธ๋“œ๋ถ€ํ„ฐ ํ˜„์žฌ๋…ธ๋“œ ๊นŒ์ง€์˜ ์ตœ๋‹จ๊ฑฐ๋ฆฌ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๋ฆฌ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
๊ธฐ์กด์— ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋ฅผ ๊ฐ™์€ ๋ ˆ๋ฒจ์—์„œ ๋งŒ๋‚˜๋ฉด ์ด๋ฏธ ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ์ด๋ฏ€๋กœ ํ์— ๋‹ด์ง€๋Š” ์•Š์ง€๋งŒ, ๊ฒฝ์šฐ์˜ ์ˆ˜๋งŒ ์ถ”๊ฐ€์‹œ์ผœ์ฃผ๋ฉด ๋œ๋‹ค.

ย Code

import sys from collections import deque read = sys.stdin.readline n, k = map(int, read().split()) dist = [-1] * 100001 # ์‹œ์ž‘๋…ธ๋“œ๋ถ€ํ„ฐ์˜ ๊ฑฐ๋ฆฌ(์‹œ๊ฐ„) ( bfs ๋ ˆ๋ฒจ) cnt = [0] * 100001 # ๊ฒฝ์šฐ์˜ ์ˆ˜ def bfs(v): deq = deque([v]) dist[v] = 0 # ์‹œ์ž‘๋…ธ๋“œ ์ž๊ธฐ์ž์‹ ์€ ๊ฑฐ๋ฆฌ 0 cnt[v] = 1 # ์‹œ์ž‘๋…ธ๋“œ ์ž๊ธฐ์ž์‹  ๊ฒฝ์šฐ์˜์ˆ˜ 1 ๊ธฐ๋ณธ์„ธํŒ… flag = 0 while deq: for _ in range(len(deq)): x = deq.popleft() # ์ด๋ฒˆ ๋ ˆ๋ฒจ์— ์ฐพ๋Š” ๋…ธ๋“œ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์ด๋ฒˆ ๋ ˆ๋ฒจ ํƒ์ƒ‰๋๋‚˜๋ฉด ํƒˆ์ถœ # ์ด๋ฒˆ ๋ ˆ๋ฒจ์— ๋™์ผ ๋…ธ๋“œ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฐ”๋กœ ํƒˆ์ถœํ•˜๋ฉด์€ ์•ˆ ๋จ => flag ์„ค์ • if x == k: flag = 1 for nxt in (x - 1, x + 1, x * 2): if 0 <= nxt < 100001: # ๋ฒ”์œ„ ์„ค์ •์•ˆํ•˜๋ฉด ๋ฐ˜๋ก€ ์ƒ๊น€ if dist[nxt] == -1: # ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ # ์‹œ์ž‘๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ํ˜„์žฌ๋…ธ๋“œ์˜ ๊ฑฐ๋ฆฌ = ๋ถ€๋ชจ๋…ธ๋“œ์˜ ๊ฑฐ๋ฆฌ + 1 dist[nxt] = dist[x] + 1 # ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ๋ถ€๋ชจ์—๊ฒŒ์„œ ๊ทธ๋Œ€๋กœ ๋ฌผ๋ ค๋ฐ›์Œ cnt[nxt] = cnt[x] # ํ์— ์ถ”๊ฐ€ deq.append(nxt) # ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ์ด๊ณ , ๊ฐ™์€ ๋ ˆ๋ฒจ์— ์กด์žฌํ•˜๋Š” ๋…ธ๋“œ๋ผ๋ฉด elif dist[nxt] == dist[x] + 1: # ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ถ€๋ชจ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋”ํ•ด์คŒ cnt[nxt] += cnt[x] if flag == 1: print(dist[k]) print(cnt[k]) break bfs(n)
Python
๋ณต์‚ฌ

Solution

ํ•˜์ด๋ผ์ดํŒ… ๋ถ€๋ถ„์ด ํ•ต์‹ฌ๋กœ์ง์ด๋‹ค.
โ€ข
๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ์ด์ง€๋งŒ, ๊ฐ™์€ ๋ ˆ๋ฒจ์— ์กด์žฌํ•˜๋Š” ๋…ธ๋“œ์ผ ๋•Œ ์นด์šดํŒ…์„ ํ•ด์คฌ์–ด์•ผ ํ–ˆ๋Š”๋ฐ ์ด ๋ถ€๋ถ„ ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ค์› ๋‹ค.
์œ„์˜ if ์กฐ๊ฑด๋ฌธ์—์„œ ์ฒซ ๋ฐฉ๋ฌธ๋…ธ๋“œ์— dist[nxt] = dist[x] + 1 ๋ฅผ ๋„ฃ์–ด์คฌ์œผ๋ฏ€๋กœ dist[nxt] == dist[x] + 1 ์ด๋ฉด ๊ฐ™์€ ๋ ˆ๋ฒจ์— ์กด์žฌํ•˜๋Š” ๊ธฐ๋ฐฉ๋ฌธ ๋…ธ๋“œ์ด๋‹ค.
โ€ข
cnt[nxt] += cnt[x]
์ž๊ธฐ ์ž์‹ ์˜ ๋ถ€๋ชจ๋…ธ๋“œ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ˆ„์ ์œผ๋กœ ๋”ํ•ด์ค€๋‹ค. ์•ฝ๊ฐ„ dp ๋ฌธ์ œ ๋Š๋‚Œ๋„ ๋‚œ๋‹ค.

Commentary

dist ๋ฆฌ์ŠคํŠธ์™€ cnt ๋ฆฌ์ŠคํŠธ ๋ฅผ ๋”ฐ๋กœ ๋†จ์ง€๋งŒ ๊ทธ๋ƒฅ ์ด์ฐจ์›๋ฐฐ์—ด๋กœ ์„ ์–ธํ•ด์„œ dist[n][0] ๊ฐ€ n๋ฒˆ๋…ธ๋“œ์˜ ๊ฑฐ๋ฆฌ, dist[n][1] ๊ฐ€ n๋ฒˆ๋…ธ๋“œ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜(cnt) ๋กœ ํ•˜๋Š” ๋ฐฉ์‹๋„ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐœ์ธ์ ์œผ๋ก  ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์ด ์ฉ ์ข‹์€ ๊ฒƒ ๊ฐ™์ง€๋Š” ์•Š์•„์„œ dist[] ์™€ cnt[] ๋กœ ๋ถ„๋ฆฌํ–ˆ๋‹ค.

#2. ํ์—์„œ pop์„ ํ•  ๋•Œ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ

Idea

์ผ๋ฐ˜์ ์ธ bfs ๋Š” ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋ฅผ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์—์„œ ํ์— ์ถ”๊ฐ€(append)ํ•  ๋•Œ ํ•ด์ค€๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์Œ ๋…ธ๋“œ๋“ค์˜ ์ธ์ ‘๋…ธ๋“œ(์ž์‹๋…ธ๋“œ)์—์„œ ๋“ฑ์žฅํ•˜๋”๋ผ๋„ ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋กœ ์ฒ˜๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ์— ์ถ”๊ฐ€๊ฐ€ ์•ˆ ๋œ๋‹ค.
ํ•˜์ง€๋งŒ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋ฅผ ํ์—์„œ pop์„ ํ•  ๋•Œ ํ•ด์ฃผ๋ฉด, ํ˜„์žฌ ๋ ˆ๋ฒจ์—์„œ ์ฒ˜์Œ ๋“ฑ์žฅํ•œ ์ž์‹๋…ธ๋“œ๋“ค์ด ์ฆ‰์‹œ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๊ฐ€ ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณตํ•ด์„œ ํ์— ๋‹ด๊ธธ ์ˆ˜ ์žˆ๋‹ค
์•ž์„  ๋ ˆ๋ฒจ์—์„œ ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋“ค์€ ๊ฑธ๋Ÿฌ์ง€๊ฒŒ ๋˜๊ณ , ํ˜„์žฌ ๋ ˆ๋ฒจ์—์„œ ์ฒ˜์Œ์œผ๋กœ ๋“ฑ์žฅํ•œ ์ค‘๋ณต ๋…ธ๋“œ๊ฐ€ ํ์— ์ค‘๋ณตํ•ด์„œ ๋‹ด๊ธฐ๊ฒŒ ๋˜๋Š” ๋กœ์ง์ด๋‹ค.
์ฆ‰, ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋ฅผ ์ผ๋ฐ˜์ ์ธ bfs๋ณด๋‹ค ํ•œ ํ…œํฌ(ํ•œ ๋ ˆ๋ฒจ) ๋Š๋ฆฌ๊ฒŒ ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

ย Code

import sys from collections import deque read = sys.stdin.readline n, k = map(int, read().split()) visited = [0] * 100001 def bfs(v): deq = deque([(v, 0)]) # (node๋ฒˆํ˜ธ, ๋ฃจํŠธ๋…ธ๋“œ๋ถ€ํ„ฐ์˜ ๊ฑฐ๋ฆฌ) cnt = 0 flag = 0 while deq: for _ in range(len(deq)): # ๋ ˆ๋ฒจ ๋‹จ์œ„ ์‹คํ–‰์„ ์œ„ํ•œ for๋ฌธ x, dist = deq.popleft() visited[x] = 1 # ์—ฌ๊ธฐ์„œ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋ฅผ ํ•จ! ์ •์„์ ์ธ bfs ๋ณด๋‹ค ๋Šฆ๊ฒŒ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋ฅผ ํ•จ. if x == k: # ์›ํ•˜๋Š” ๋…ธ๋“œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์ง€๋งŒ ์ด๋ฒˆ ๋ ˆ๋ฒจ ๋๊นŒ์ง€ ๋Œ์•„์•ผํ•˜๋ฏ€๋กœ ๋ฐ”๋กœ ๋๋‚ด์ง€๋Š” ์•Š๋Š”๋‹ค. flag = 1 # ์ด๋ฒˆ ๋ ˆ๋ฒจ ๋๋‚˜๊ณ  ํƒˆ์ถœํ•˜๊ธฐ ์œ„ํ•ด์„œ cnt += 1 # ๊ฐœ์ˆ˜ ์ฆ๊ฐ€ for nxt in (x - 1, x + 1, x * 2): if 0 <= nxt < 100001: # ๋ฒ”์œ„ ์„ค์ •์•ˆํ•˜๋ฉด ๋ฐ˜๋ก€ ์ƒ๊น€ if visited[nxt] == 0: # ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ์ด๋ฉด deq.append((nxt, dist + 1)) # ๊ฑฐ๋ฆฌ์ฆ๊ฐ€์‹œ์ผœ์„œ ํ์— ์ถ”๊ฐ€ # ํƒˆ์ถœ if flag == 1: print(dist) print(cnt) break bfs(n)
Python
๋ณต์‚ฌ

Solution

visited ๋ฅผ ํ•œ ๋ฐ•์ž ๋Š๋ฆฌ๊ฒŒ ํ•˜๋ฏ€๋กœ, ํ•ด๋‹น ๋ ˆ๋ฒจ์—์„œ ์ฒ˜์Œ ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๊ฐ€ ์žฌ๋“ฑ์žฅํ•˜๋ฉด ๊ทธ ๋…ธ๋“œ๋„ ํ์— ๋‹ด๊ธฐ๊ฒŒ ๋œ๋‹ค.
ํ์— ๋‹ด์„ ๋•Œ (node๋ฒˆํ˜ธ, ๊ฑฐ๋ฆฌ) ํŠœํ”Œ์„ ๋‹ด์•„์„œ, ๊ฑฐ๋ฆฌ๊ณ„์‚ฐ์„ ํŽธํ•˜๊ฒŒ ํ–ˆ๋‹ค.

Commentary

์•„์ด๋””์–ด๊ฐ€ ๋งค์šฐ ์ข‹๋‹ค.
ํ•˜์ง€๋งŒ, ํ˜„์žฌ ๋ ˆ๋ฒจ์—์„œ ์ด๋ฏธ ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋“ค์„ ํ์— ์ค‘๋ณต์œผ๋กœ append ํ•˜๊ณ , ๊ทธ ๋…ธ๋“œ์— ๋Œ€ํ•ด์„œ ๋˜ ์ธ์ ‘๋…ธ๋“œ๋ฅผ ํƒ์ƒ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— 1๋ฒˆ ํ’€์ด๋ณด๋‹ค ์‹œ๊ฐ„์†Œ๋ชจ๊ฐ€ ์ข€ ์žˆ๋‹ค.