1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ
- ๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/1516
(1) ์กฐ๊ฑด ๋ถ์ ๐
- ๊ฐ ๊ฑด๋ฌผ๋ง๋ค ๊ทธ๊ฒ์ ์ง์ผ๋ ค๋ฉด ์ ํํด์ ์์ฑํด์ผํ๋ ๊ฑด๋ฌผ์ด ์์ ์ ์๋ค.
(๋ง์น ์คํํฌ๋ํํธ๋ ์์ง๋ก ๊ฐ์ ๊ฒ์์ ํ๋ฉด ๋ฐฐ๋ญ ์ ์ ๋ฒ์ปค๋ฅผ ์ง์ ์ ์๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง) - ๊ฐ ๊ฑด๋ฌผ๋ง๋ค ๊ทธ๊ฒ์ ์ง์ ์ ์๋ ์ต์ ์๊ฐ์ ๊ตฌํ๋ผ.
2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธ
KEY WORD
: ์์์ ๋ ฌ
, ์ฐ์ ์์ ํ
(0) ์ง์ค ํฌ์ธํธ ์ก๊ณ ๊ฐ๊ธฐ
์ด๋ฒ ๋ฌธ์ ์์๋ ์ง์คํด์ผํ ํฌ์ธํธ์ ๊ทธ๋ฌ์ง ๋ง์์ผํ ํฌ์ธํธ๊ฐ ๋๋๋ค.
๋จผ์ ์ง์คํด์ผํ ํฌ์ธํธ๋ "๊ฐ ๊ฑด๋ฌผ๋ง๋ค ๊ทธ๊ฒ์ ์ง๊ธฐ ์ํด์๋ ์ ํ๋์ด ์ง์ด์ ธ์ผ ํ๋ ๊ฑด๋ฌผ์ด ์กด์ฌํ ์ ์๋ค" ๋ผ๋ ๊ฒ์ด๋ค. ์ด๊ฒ์ ํด๋น ๋ฌธ์ ๊ฐ ์์ ์ ๋ ฌ ์ ์จ์ผ ํจ์ ์๋ฆฌ์น๊ณ ์๋ค.
๊ดํ ์ง์คํ๋ค๊ฐ ๋ฌธ์ ํ์ด์ ๋ฐฉํฅ์ฑ์ ์์ด๋ฒ๋ฆฌ๋ ํฌ์ธํธ๋ ๋ฐ๋ก '์ต์'๋ผ๋ ๋ง์ด๋ค. ์ ํ๋์ด์ผ ํ๋ ์์ ์ด ๋๋๋ ์์ ์ด ๋ฐ๋ก ์ต์ ์์ ์์ผ๋ก ์์์ ๋ ฌ ํ์ด ๋ฐฉ์์์๋ ํด๋น ์์ ํน์ ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๋๋ค. ๋ฐ๋ผ์ ๊ตณ์ด ํด๋น ๋จ์ด์ ์ง์คํด ๋ฐฉํฅ์ฑ์ ์ก์ ํ์๊ฐ ์๋ค.
(1) ํ์ค ์ํฉ์ฒ๋ผ ์๊ฐํ๊ธฐ (์ฐ์ ์์ ํ ์ ์ฉ์ )
๋ง์ฝ ์ฐ๋ฆฌ๊ฐ ์ง์ง ์คํํฌ๋ํํธ์ ๊ฐ์ด ๋น๋ ํธ๋ฆฌ๊ฐ ์กด์ฌํ๋ ๊ฒ์์ ํ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ๊ฑด๋ฌผ Z๋ฅผ ์ง๊ธฐ ์ํด์๋ ๊ฑด๋ฌผ A,B,C,D๊ฐ ์ ํ๋์ด ๊ฑด์กฐ๋์ด์ผ ํ๋ค๊ณ ๊ฐ์ ํ์ ๋, ์ด๋ป๊ฒ ํ๋ ์ด ํ๊ฒ ๋๊ฐ?
๋น์ฐํ, ์ ํ ๊ฑด์กฐ ๊ฑด๋ฌผ ์ค ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์ง์ ์ ์๋ ๊ฑด๋ฌผ๋ถํฐ ํด์ ์ฐจ๋ก๋๋ก ํด์น์ธ ๊ฒ์ด๋ค. ๊ทธ๊ฒ์ด
- ๋ง์ฝ ์ ํ ๊ฑด๋ฌผ๋ค ์ค์์๋ ์ ํ, ํํ ๊ฑด๋ฌผ์ด ๋๋ ๊ฒฝ์ฐ, ๋ณ๋์ ์ฝ๋ ์์ด ์ด๋ฅผ ํด๊ฒฐํ ์ ์๊ณ ,
- ํ์ค์ ์ผ๋ก ํ์ฌ ๊ฑด์กฐํ๊ณ ํ ๊ฑด๋ฌผ Z๋ฅผ ์ง๋ ๊ฐ์ฅ ๋น ๋ฅธ ๊ธธ์ด๊ธฐ
๋๋ฌธ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด, ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์ง์ ์ ์๋ ๊ฑด๋ฌผ์ด๋ผ๋ ๊ฒ์ ์ด๋ป๊ฒ ์ ์๋ด๋ฆฌ๋ฉด ๋ ๊น? ํ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ฐ์ ์์๋ฅผ ๋์ด ์ ์ํ๋ค.
- ํ ์์ ์์ ์ฆ์ ์ง์ ์ ์๋ ๊ฑด๋ฌผ์ด ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์ง์ ์ ์๋ ๊ฑด๋ฌผ์ด๋ค.
(์ฆ, ์ ํ๋์ด ์ง์ด์ ธ์ผํ ๊ฑด๋ฌผ์ด ๋ ์ด์ ๋จ์ง ์์๋ค.) - 1๋ฒ์ ์ถฉ์กฑํ๋ ๊ฑด๋ฌผ์ด ์ฌ๋ฌ ๊ฐ์ผ ๊ฒฝ์ฐ, ๋์ ๋ ๊ฑด์ถ ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ๊ฑด๋ฌผ์ด ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์ง์ ์ ์๋ ๊ฑด๋ฌผ์ด๋ค.
10์ด ๊ฑธ๋ฆฌ๋ ๊ฑด๋ฌผ A ๋จผ์ ์ง๊ณ 15์ด ๊ฑธ๋ฆฌ๋ ๊ฑด๋ฌผ C๋ฅผ ์ง๋ ํ์๋, ์ด ๋ฐ๋ ํ์๋ ์ต์ข
์ ์ธ ์๊ฐ์ ๊ฐ์ง ์์๊ฐ? ํ๊ณ ์๋ฌธ์ ๊ฐ์ง ์ ์์ง๋ง. 2
๋ฒ์ ๋ค์ ๋์ฌ ๋ฐ๋ก๋ฅผ ํด๊ฒฐํด์ฃผ๋ ๊ท์น์ด๋ผ ํ์์ ์ด๋ค.
์ด๋ฅผ ์ํด ์์์ ๋ ฌ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐ์ด๋ ์ผ๋ฐ ํ ๋์ ์ฐ์ ์์ ํ
๋ฅผ ํ์ฉํ๋ค.
์๋์ ์์ ์ ๋ ฌ ์๋ฏธ์ฒ๋ผ ํ์ ์ฝ์
๋ ์ ์ ์ ๋ ์ด์ ์ฌ์ฉํ์ง ์์ ์ง์
์ฐจ์๊ฐ ์๋ ๊ฒ์ด๋ผ ํ ์ ์๋ค. (ํด๋น ๋ฌธ์ ๋ก ํ์ด ์ฐ๋ฉด, ์ฆ์ ์ง์ ์ ์๋ ๊ฑด๋ฌผ)
๊ทธ๋ผ ํ์ ์๋ ๊ฐ๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ 1๋ฒ ๊ท์น์ ์ถฉ์กฑ์ํค๋ ๊ฐ๋ค์ด๋ค. ์ฌ๊ธฐ์ ๋์ ๊ฑด์ถ์ถ ์๊ฐ์ ๋ฐ๋ฅธ ์ ๋ ฌ์ ์ํด ์ฐ์ ์์ ํ๋ฅผ *๊ฑด์กฐ ์๊ฐ์ด ๋น ๋ฅธ *
(2) ๋์ ์๊ฐ์ ๊ธฐ๋กํ๋ ํ์ด๋ฐ
ํด๋น ๋ฌธ์ ์ ์๊ตฌ์ฌํญ์ ํน์ ๊ฑด๋ฌผ์ ๊ฑด์ถ์ ๊ฑธ๋ฆฌ๋ ์ต์์๊ฐ ์ด๋ค. ์ด๋ ๋น์ฐํ ๋ณธ ๊ฑด๋ฌผ ์์ฒด์ ๊ฑด์ถ ์๊ฐ
+ ์ ํ ๊ฑด๋ฌผ๋ค์ ๊ฑด์ถ ์๊ฐ
์ผ ๊ฒ์ด๋ค. ํด๋น ๋ฌธ์ ์์๋ ๊ฑด์ถ ์๊ฐ์ ๋์ ์ํค๋ ํ์ด๋ฐ์ด ์ค์ํ๋ค.
์๊ฐ์ ๋์ ์ํค๋ ํ์ด๋ฐ์ ํ์ ํน์ ์ ์ ์ ์ฝ์
ํ๋ ์๊ฐ์ด๋ค.
ํ์ ํน์ ์ ์ ์ด ์ฝ์
๋๋ค๋ ๊ฒ์ _์ฆ์ ๊ฑด์ถ์ด ๊ฐ๋ฅํจ_์ ์๋ฏธํ๋ค. ๊ฑด๋ฌผ์ ์ง์ ์ ์๋ค๋ ๊ฒ์ ๋ค๋ฅธ ๋ง๋ก, ์ด๋ฏธ ๊ฑด์ถ ์ต์ ์๊ฐ ์ธก์ ์ด ๋๋ฌ๋ค๋ ๊ฒ๋ ๋๋ค.
๋ง์ฝ ์ง์ ๊ฐ์ ์ ์์ ๋ ๋ชจ๋ ์๊ฐ์ ๊ทธ ๊ฐ์ ์ ๊ฐ์ค์น๋ฅผ ๋์ ์ํจ๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
๋ฌธ์ ์ ๋์จ ์์๋ฅผ ๋๋ฉดํ ํด๋ณด์๋ค. ์ด์ ๋ชจ๋ ์ง์ ๊ฐ์ ์ญ์ ํ์ด๋ฐ์ ๊ทธ๊ฒ์ ๋ชฉ์ ์ง ์ ์ ์ ๋์ ์ฝ์คํธ๋ฅผ ์ฌ๋ ค๋ณด๊ฒ ๋ค.
์ถ๋ฐ์ ์ธ 1์์์ ๊ฐ์ ์ ๋ค ์์ ๊ณ , ๋ชฉ์ ์ง ์ ์ ์ ๋น์ฉ์ ๋์ ์์ผฐ๋ค. ๋ค์์ ์งํํด๋ณด๊ฒ ๋ค.
3๋ฒ์ ๊ฐ์ ์ ์์ด๋๋, 4๋ฒ ๊ฑด๋ฌผ ๊ฑด์ถ์ ์ต์ ์๊ฐ์ด 24๊ฐ ๋์ด๋ฒ๋ ธ๋ค. ํ์ง๋ง ์ฌ๋ฐ๋ฅธ ํ์ด๋ฅผ ์๊ฐํด ๋ณด๋ฉด1๋ฒ๊ณผ 3๋ฒ์ ์ง๋๋ฐ ๊ฑธ๋ฆฌ๋ 14์ด + ๋ณธ์ธ์ ์ง๋๋ฐ ๊ฑธ๋ฆฌ๋ 4์ด๊ฐ ๋์ด์ ์ด 18๋ฒ์ด ๋ง๋ค.
๋ง์ฝ ์ฌ๋ฐ๋ฅธ ํ์ด์ฒ๋ผ ํ์ ๋ฃ๋ ํ์ด๋ฐ์๋ง ๊ทธ๊ฒ์ ๊ฐ์ค์น๋ฅผ ๋์ ํ์ผ๋ฉด 1-> 3 -> 4 ์ฐจ๋ก๋ก ๋น์ฉ์ด ๋์ ๋จ์ ํํํ ์ ์์์ผ๋ก, ์ค๋ณต ์์ด ํด๊ฒฐํ ์ ์๋ค.
(3) ์ฐ์ ์์ ํ๊ฐ ๊ผญ ํ์ํ ์ด์
์ฐ์ ์์ ํ๊ฐ ๊ผญ ํ์ํ ๊ฒฝ์ฐ๋ ํ๋์ ๋ชฉ์ ์ง๋ก ๊ฐ๋ ๋ฐฉ๋ฒ์ด 2๊ฐ ์ด์์ธ ๊ฒฝ์ฐ ์ด๋ค.
์์ ์์์์๋ 6๋ฒ์ผ๋ก ๊ฐ๋ ๊ฒฝ์ฐ๊ฐ 2๊ฐ์ง๋ก ๋๋๋ค. ๋ง์ฝ ๊ท์น 2๋ฒ์ (๋์ ๋ ๊ฑด์ถ ์๊ฐ์ด ๋น ๋ฅธ ์ ์ฌ์ ๋ ฌ์ด ์๋ค๋ฉด)
๊ฑด์กฐ์๊ฐ์ด ๋น๊ต์ ๋ ๊ฑธ๋ฆฌ๋ 1๋ฒ ๋ฃจํธ๋ฅผ ๋จผ์ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๊ณ , ๊ทธ ํ์ 2๋ฒ ๋ฃจํธ๋ฅผ ์์ผ๋ก์ ํ์์ ์ผ๋ก ๊ฑธ๋ ค์ผ ํ๋ ์๊ฐ๋ณด๋ค ๋ ์งง์ ์๊ฐ์ผ๋ก ๊ฑด์ถ ์ต์ ์๊ฐ์ด ๋จ์ถ๋์ด๋ฒ๋ฆด ์ ์๋ค. ํด๋น ๊ฐ์ ์ ํจํ์ง ์์ ๊ฐ์์ผ๋ก ๋น์ฐํ ํ๋ ธ๋ค.
๋ฐ๋ฉด ์ฐ์ ์์ ํ๋ฅผ ํ์ฉํ๋ค๋ฉด, ํ์ ๋จธ๋ฆฌ์์ ๋์ค๋ ๋ ธ๋๋ ๋น์ฐํ ๊ฑด์กฐ์๊ฐ์ด ๋ ๋น ๋ฅธ 2๋ฒ ๋ฃจํธ์์ผ๋ก, ํญ์ ๋ ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฌ๋ ์ชฝ์ผ๋ก ๋ฎ์ด์จ์ง๋ค.
(4) ์๊ฐ๋ณต์ก๋ ๋ถ์ โณ
์์์ ๋ ฌ์ ๋ด๋ถ๋ BFS๋ก ์ด๋ฃจ์ด์ ธ์๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ ์ธ ์์์ ๋ ฌ์ ์๊ฐ๋ณต์ก๋๋ $O(V+E)$ ์ด๋ค. ๋ค๋ง ํด๋น ๋ฌธ์ ๋ ์ฐ์ ์์ ํ๋ฅผ ์จ์ ๋งค ์ฝ์ ๋ง๋ค $O(logN)$ (N์ ํ ์์ ๊ฐ์ ๊ฐ์) ๊ฐ ๋ ๋ ๋ค. ๋ฐ๋ผ์ ์ต์ข ์ ์ธ ์๊ฐ๋ณต์ก๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
$$
O( (V+E)* logN)
$$ V๋ ์ ์ ์ ๊ฐ์, E๋ ๊ฐ์ ์ ๊ฐ์, N์ ์ฐ์ ์์ ํ์์ ๊ฐ์ ๊ฐ์
N์ด 500์์ผ๋ก, ๊ทธ๋ํ๋ฅผ ์์ ๊ทธ๋ํ๋ผ๊ณ ๋ด๋ E๋ 25,000์ ๋์ง ๋ชปํ๋ค. N์ ์ต๋ ์ ์ ์ ๊ฐ์๋งํผ ๋ด๊ฒจ ์์ผ๋ฏ๋ก ์๋ฌด๋ฆฌ ์ด๋ก ์ ์ธ ์ต๋์น๋ฅผ ๊ณ์ฐํด๋,
25,500 * 22.36067977 ๋ฐ์ ๋์ง ์๋๋ค.
3. ์ฝ๋ ๐
(1) SUDO CODE ๐ฌ
+ 0. ์ด๊ธฐํ (์ธ์ ๋ฆฌ์คํธ, ์ง์
์ฐจ์ ๋ฐฐ์ด, ๋์ ๊ฑด์ถ ์๊ฐ ๋ฐฐ์ด)
+ 1. ์ฐ์ ์์ ํ ์ฅ์ฐฉํ BFS ๋๋ฆฌ๊ธฐ
- (1) ์ง์
์ฐจ์๊ฐ 0์ธ ๊ฐ์ ํ์ ๋ฃ๋๋ค. (์ ์ ๋ฒํธ + ๋์ ์๊ฐ)
- (2) ๋ด๋ถ๋ ๊ฑด์ถ์๊ฐ์ด ๋น ๋ฅธ ์์ผ๋ก ์ ๋ ฌํ๋ค.
- (3) ํ์ ๋ฃ๋ ์๊ฐ ๋์ ๊ฑด์ถ ์๊ฐ ๋ฐฐ์ด์ ์ง๊ธ๊น์ง ๋์ ๋ ๊ฐ์ ๋์ ์๊ฐ ๋ฐฐ์ด์ ์ ์ฅํ๋ค.
+ 2. ๋์ ์๊ฐ ๋ฐฐ์ด์ ์ผ๋ ฌ๋ก ์ถ๋ ฅํ๋ค.
(2) JAVA CODE โ
import java.util.*;
import java.io.*;
public class Main {
static class Building {
int index;
int time;
public Building(int i, int t){
this.index = i;
this.time = t;
}
}
static int N;
static ArrayList<Building> [] lists;
static int [] inDegree;
static int [] completeTime;
public static void main(String[] args) throws Exception {
init();
topological_graph();
print();
}
public static void init() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
lists = new ArrayList [N+1];
inDegree = new int [N+1];
completeTime = new int [N+1];
for(int i = 1; i <= N; i++){
lists[i] = new ArrayList<>();
}
for(int i = 1; i<= N; i++){
StringTokenizer st = new StringTokenizer(br.readLine());
// ์ง๊ธ ์ง๋ ๊ฑด๋ฌผ์ ๋ฒํธ
int now = i;
int time = Integer.parseInt(st.nextToken());
completeTime[now] = time;
// ์ธ์ ๋ฆฌ์คํธ ์ด๊ธฐํ (ํํ์ ์ ์ ๋ฐฐ์ด์ ์ ํ ์ ์ ๋ค์ Building class๋ก ์ ์ฅ)
while(st.hasMoreTokens()){
// ๋จผ์ ์ง์ด์ ธ์ผ ํ๋ ๊ฑด๋ฌผ์ ๋ฒํธ
int prev = Integer.parseInt(st.nextToken());
if(prev == -1) break;
lists[prev].add(new Building(now, time));
inDegree[now]++;
}
}
}
public static void topological_graph() {
PriorityQueue<Building> pq = new PriorityQueue<>((o1, o2) -> (o1.time - o2.time));
// ์ด๊ธฐ๊ฐ ๋ฃ์ด์ฃผ๊ธฐ
// ์ง์
์ฐจ์ ๋ฐฐ์ด์ธ inDegree๊ฐ -1 ์ด๋ฉด ์ด๋ฏธ ๋ฐฉ๋ฌธํ ๋ฐฐ์ด์.
for(int i = 1; i <= N; i++){
if(inDegree[i] == 0){
pq.add(new Building(i, completeTime[i]));
inDegree[i] = -1;
}
}
while(!pq.isEmpty()) {
Building prev = pq.poll();
for(int i = 0; i < lists[prev.index].size(); i++){
Building now = lists[prev.index].get(i);
inDegree[now.index]--;
if(inDegree[now.index] == 0) {
inDegree[now.index] = -1;
completeTime[now.index] += prev.time;
pq.add(new Building(now.index, completeTime[now.index]));
}
}
}
}
public static void print() throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
for(int i = 1; i < N + 1; i ++){
bw.write(String.valueOf(completeTime[i]) + "\n");
}
bw.flush();
bw.close();
}
}
4. ํธ๋ฌ๋ธ ์ํ or ๋ฐฐ์ด ์ ๐
์ค์๋ฅผ ์ด 2๊ฐ์ง ํ๋ค.
- while๋ฌธ์ ํ๊ฐ ๋น์ด์์ ๋๋ง ๋์ํ๊ฒ ํ ๊ฑฐ
- ์ฐ์ ์์ ํ๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๊ฒ
๋ ๋ค ๋ด๊ฐ ์ง์ค๋ ฅ์ด ๋จ์ด์ ธ ์์ ๋ ์์ฃผํ๋ ์ค์์ด๋ค. ๋ฐ๋ณตํ์ง ๋ง์.^~^
A. 2025-05-17 ์ฌ๋ณต์ต์ ํ๋ฉฐ
- ์ต์ด ํ์ด์์๋ ์ฐ์ ์์ ํ๊ฐ ํ์ํ ์ด์ ๋ฅผ ์๊ฐํ์ง ์๊ณ ํผ ๊ฑฐ ๊ฐ๋ค.
์ฐ์ ์์ ํ๊ฐ ํ์ํ ์ด์ ๋ ํ๋์ ์ ์ ์ผ๋ก ์ค๋ ์ง์ ์ฐจ์ ํ๋ณด์ง ์ค ๋น์ฉ์ด ๊ฐ์ฅ ํฐ ๋ ์์ ๊ณ ๋ฅด๊ธฐ ์ํด์ ์ด๋ค. ํด๋น ๋ฌธ์ ๋ ํ๋์ ๊ฑด๋ฌผ์ ์ง๊ธฐ ์ํ ์ ํ ๊ฑด๋ฌผ์ ๊ฐ์๊ฐ ๋ช ๊ฐ์ด๋ , ๋์์ ์ง์ ์ ์์ผ๋ฏ๋ก,์ ํ ๊ฑด๋ฌผ๋ค ์ค์ ๊ฐ์ฅ ๊ฑด์ถ ์๊ฐ์ด ๋๋ฆฐ ๋ ์์ ๊ฑด์ถ ์๊ฐ
+์์ ์ ๊ฑด์ถ ์๊ฐ
์ ํด์ผ ํ๋ค. - ์ด๊ฒ์ ๊ฐ์ฅ ๊ฐ๋ ์ฑ ์๊ฒ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ํ ์ฝ์ ์์ + ํ๋ณด๊ตฐ ์ค ๊ฐ์ฅ ๋๋ฆฐ ๊ฑด์ถ์๊ฐ ํ์ธ ์์ ์ ๋์ผํ๊ฒ ํ๋ ๊ฒ์ด๋ค.
- ๋ฌผ๋ก ์ผ๋ฐ ํ๋ก๋ ํ ์ ์์ง๋ง, ์์ ์์ ์ด ์ด๊ทธ๋ฌ์ง๋ฉด์, ์ฝ๋๋ฅผ ๋ฐ๋ก ์์ฑ ๋ฐ ๊ด๋ฆฌํด์ผ ํ๋ ๊ด์ ์ด ์๋ค.
- ๋ฐ๋ฉด ์ฐ์ ์์ ํ๋ฅผ ํ์ฉํ๋ฉด, ์ฐ์ ์์๊ฐ ์์ ์ฐจ์์ด ๋จผ์ ์ค๊ฒ queue๋ฅผ ์ ๋ ฌํด์, ํ ์ฝ์ ์์ ๊ณผ ํ๋ณด๊ตฐ ์ค ๊ฐ์ฅ ๋๋ฆฐ ๊ฑด์ถ ์๊ฐ ํ์ธ ๋ฐ ๊ฐฑ์ ์์ ์ ๋ง์ถ ์ ์๋ค.
5. ์ต์ข ์์ฝ
Q. ๋์ ๊ฑด์ถ ์๊ฐ ์ ๋ฐ์ดํธ์ ์ฌ๋ฐ๋ฅธ ์์ ์?
ํน์ ๊ฑด๋ฌผ์ด ๊ฑด์ถ ๋์ด์ ํ์์ ๋ค์ด๊ฐ๋ ์๊ฐ, ๊ทธ ๊ฑด๋ฌผ์ ๋์ ์๊ฐ์ ์
๋ฐ์ดํธ ํด์ผํจ.
๊ทธ๊ฒ์ด ๋ฌธ์ ๋ฅผ ์ค์ํ์ ์ผ๋ก ์๊ฐํ์ ๋๋ ์์ฐ์ค๋ฝ๊ณ , ๊ฑด์ถ์ด ์๋ฃ๋ ๊ฒ๋ง ๋์ ์๊ฐ์ ์
๋ฐ์ดํธ ํ๋๊น, ์ค๋ณต ๊ณ์ฐ์ด ์ด๋ฃจ์ด์ง ์ด์ ๊ฐ ์์
Q. ์ฐ์ ์์ ํ ๋์ ์ผ๋ฐ ํ๋ฅผ ์ฐ๋ฉด ์๊ธฐ๋ ๋ฌธ์ ์ ์?
์ ํจํ์ง ์์ ์ต์ ์๊ฐ์ผ๋ก ๋ฎ์ด์จ์ง๋ ๊ฒฝ์ฐ๊ฐ ์๊ธด๋ค.
Relevace Framing ๐งฉ
๊ด๋ จ๋ ๊ฐ๋
: [[์์์ ๋ ฌ]], [[์ฐ์ ์์ ํ]]