Kitel algorithm 2

217
OF KITEL BY KITEL FOR KITEL S/W 능능 능능능 능능 Algorithm 능능능 능 능능 능능 능능 37th 능능능
  • Upload

    -
  • Category

    Software

  • view

    153
  • download

    0

Transcript of Kitel algorithm 2

Page 1: Kitel algorithm 2

OF KITELBY KITEL

FOR KITELS/W 능력 향상을 위한 Algorithm 세미나두 번째인생 위기

37th 김진오

Page 2: Kitel algorithm 2

목차• BFS //Breadth First

Search

• DFS //Depth First Search

• DP(?) //Dynamic Programming

Page 3: Kitel algorithm 2

Why BFS?

• 최단거리 탐색• 지역 탐색 - 호수• 알고리즘 공부 해봤어요 !

• 컴퓨터는 Searching Machine

Page 4: Kitel algorithm 2

Breadth First Search

• 한국말로 너비 우선 탐색• 점점 퍼져나가요 .

• Queueueueueueueueueueueueueueueueueue.. ㅠㅠ

Page 5: Kitel algorithm 2

Queue

• 간단한 자료구조 . (Stack Queue)

• FIFO(First In First Out)

• Push, Pop(Insert, Delete)

Page 6: Kitel algorithm 2

Queue

• 간단한 자료구조 . (Stack Queue)

• FIFO(First In First Out)

• Push, Pop(Insert, Delete)

PUSH

Page 7: Kitel algorithm 2

Queue

• 간단한 자료구조 . (Stack Queue)

• FIFO(First In First Out)

• Push, Pop(Insert, Delete)

PUSH

Page 8: Kitel algorithm 2

Queue

• 간단한 자료구조 . (Stack Queue)

• FIFO(First In First Out)

• Push, Pop(Insert, Delete)

PUSH

Page 9: Kitel algorithm 2

Queue

• 간단한 자료구조 . (Stack Queue)

• FIFO(First In First Out)

• Push, Pop(Insert, Delete)

Page 10: Kitel algorithm 2

Queue

• 간단한 자료구조 . (Stack Queue)

• FIFO(First In First Out)

• Push, Pop(Insert, Delete)

POP

Page 11: Kitel algorithm 2

Queue

• 간단한 자료구조 . (Stack Queue)

• FIFO(First In First Out)

• Push, Pop(Insert, Delete)

POP

Page 12: Kitel algorithm 2

Queue

• 간단한 자료구조 . (Stack Queue)

• FIFO(First In First Out)

• Push, Pop(Insert, Delete)

POP

Page 13: Kitel algorithm 2

BFS

• 시작 ..

• 내가 미쳤지 ..

• 내 마음은 호수요 ..

Page 14: Kitel algorithm 2

호수 찾기0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

0 == 땅1 == 물

Page 15: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기

xy

(1,1)

Page 16: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기

xy

(1,1)

Page 17: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기

xy

(1,1)

Page 18: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기

xy

(1,1)

Page 19: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기

xy

(1,1)

Page 20: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기

xy

(1,1)

Page 21: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기

xy

(1,1)

Page 22: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기

xy

(1,1)

42 PUSH

Page 23: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기

xy

(1,1)

42

Page 24: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기

xy

(1,1)

42

43 PUSH

Page 25: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

43POP

42

Page 26: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

43

Page 27: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

43

33

44 PUSH

Page 28: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

43

33

44

Page 29: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

33

44POP

43

Page 30: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

33

44

Page 31: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

33

44

Page 32: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

44POP

33

Page 33: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

44

Page 34: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

44 PUSH4

554

Page 35: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

44

45

54

Page 36: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

45

54POP

44

Page 37: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

45

54

Page 38: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

45

54

35

55 PUSH

Page 39: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

45

54

35

55

Page 40: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

35

55

54POP

45

Page 41: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

54

35

55

Page 42: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

54

35

55

64 PUSH

Page 43: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

54

35

55

64

Page 44: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

35

55

64POP

54

Page 45: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

35

55

64

Page 46: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

35

55

64 PUSH3

6

Page 47: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

35

55

64

36

Page 48: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

55

64

36POP

35

Page 49: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

55

64

36

Page 50: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

55

64

36 PUSH5

6

Page 51: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

55

64

36

56

Page 52: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

64

36

56POP

55

Page 53: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

64

36

56

Page 54: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

64

36

56

63 PUSH

Page 55: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

64

36

56

63 PUSH

Page 56: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

36

56

63POP

64

Page 57: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

36

56

63

Page 58: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

36

56

63 PUSH2

637

Page 59: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

36

56

63

26

37

Page 60: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

56

63

26

37POP

36

Page 61: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

56

63

26

37

Page 62: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

56

63

26

37

66 PUSH

Page 63: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

56

63

26

37

66

Page 64: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

63

26

37

66POP

56

Page 65: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

63

26

37

66

Page 66: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

63

26

37

66 PUSH6

2

Page 67: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

63

26

37

66

62

Page 68: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

26

37

66

62POP

63

Page 69: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

26

37

66

62

Page 70: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

37

66

62POP

26

Page 71: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

37

66

62

Page 72: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

66

62POP

37

Page 73: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

66

62

Page 74: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

66

62

76 PUSH

Page 75: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

66

62

76

Page 76: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

62

76POP

66

Page 77: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

62

76

Page 78: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

76POP

62

Page 79: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy

76

Page 80: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xyPOP

76

Page 81: Kitel algorithm 2

0 0 0 0 0 0 0

0 0 0 1 0 1 0

0 0 1 1 0 1 0

0 0 0 1 1 1 0

0 0 1 1 1 0 0

0 1 1 0 1 1 1

0 0 1 0 0 0 0

호수 찾기(1,1)

xy 끄으으으으으으으으ㅌ

Page 82: Kitel algorithm 2

Queue 구현#define QUEUESIZE 10000

int q[QUEUESIZE];int head, tail;

void Push(int parm){q[tail]=parm;tail++;tail%=QUEUESIZE;

}

주의 : 학교 과제에서 이렇게 구현하면 0 점 받아요 .알고리즘 문제를 풀 때 쓰는 방법 .

void Pop(){head++;head

%=QUEUESIZE;}

Page 83: Kitel algorithm 2

문제풀기 - 호수

• http://59.23.113.171/30stair/lake/lake.php?pname=lake

Page 84: Kitel algorithm 2

CODE

Page 85: Kitel algorithm 2

최단거리 찾기

입구

출구

Page 86: Kitel algorithm 2

최단거리 찾기

1입구

출구

Page 87: Kitel algorithm 2

최단거리 찾기

2

1 2입구

출구

Page 88: Kitel algorithm 2

최단거리 찾기

3

2

1 2 3입구

출구

Page 89: Kitel algorithm 2

최단거리 찾기4

3

2 4

1 2 3입구

출구

Page 90: Kitel algorithm 2

최단거리 찾기4 5

3 5

2 4 5

1 2 3입구

출구

Page 91: Kitel algorithm 2

최단거리 찾기6

4 5 6

3 5

2 4 5 6

1 2 3입구

출구

Page 92: Kitel algorithm 2

최단거리 찾기6

4 5 6

3 5 7

2 4 5 6

1 2 3입구

출구

Page 93: Kitel algorithm 2

최단거리 찾기6

4 5 6 8

3 5 7

2 4 5 6

1 2 3입구

출구

Page 94: Kitel algorithm 2

최단거리 찾기6 9

4 5 6 8

3 5 7

2 4 5 6

1 2 3입구

9 번

Page 95: Kitel algorithm 2

Why DFS?

• 경로 탐색• Graph

• 모든 경우의 수

Page 96: Kitel algorithm 2

Depth First Search

• 한국말로 깊이 우선 탐색• 깊숙이 들어가요• Stack ==> 재귀

Page 97: Kitel algorithm 2

• Vertex 끼리 edge 로 연결되어있는 구조• Node 와 Link

Graph

1 2

5

3

6

4

7

Page 98: Kitel algorithm 2

• 2 차원 배열을 사용하여 구현• 1 은 2, 5 와 연결되어있다 .

Graph1 2 3 4 5 6 7

1 1 1

2 1 1 1

3 1

4 1

5 1 1 1

6 1

7 1

Page 99: Kitel algorithm 2

• BFS 도 적용 가능• 그래프 특성상 DFS 가 더 편함

Graph1 2 3 4 5 6 7

1 1 1

2 1 1 1

3 1

4 1

5 1 1 1

6 1

7 1

Page 100: Kitel algorithm 2

Graph1 2 3 4 5 6 7

1 1 1

2 1 1 1

3 1

4 1

5 1 1 1

6 1

7 1

방문한 곳

Page 101: Kitel algorithm 2

Graph1 2 3 4 5 6 7

1 1 1

2 1 1 1

3 1

4 1

5 1 1 1

6 1

7 1

방문한 곳

Page 102: Kitel algorithm 2

Graph1 2 3 4 5 6 7

1 1 1

2 1 1 1

3 1

4 1

5 1 1 1

6 1

7 1

방문한 곳

Page 103: Kitel algorithm 2

Graph1 2 3 4 5 6 7

1 1 1

2 1 1 1

3 1

4 1

5 1 1 1

6 1

7 1

방문한 곳

Page 104: Kitel algorithm 2

Graph1 2 3 4 5 6 7

1 1 1

2 1 1 1

3 1

4 1

5 1 1 1

6 1

7 1

방문한 곳

Page 105: Kitel algorithm 2

Virus 문제

http://59.23.113.171/30stair/virus1/virus1.php?pname=virus1

1 2

5

3

6

4

7

Page 106: Kitel algorithm 2

Virus - Code

Page 107: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1입구

출구

12

3

4

Page 108: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1입구

출구

12

3

4

Page 109: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1입구

출구

12

3

4

Page 110: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1입구

출구

12

3

4

Page 111: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1입구

출구

12

3

4

Page 112: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1입구

출구

12

3

4

Page 113: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1입구

출구

12

3

4

Page 114: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1입구

출구

12

3

4

Page 115: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1입구

출구

12

3

4

Page 116: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1입구

출구

12

3

4

Page 117: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1입구

출구

12

3

4

Page 118: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1 10 9입구

출구

12

3

4

Page 119: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1 10 9입구

출구

12

3

4

Page 120: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1 10 9입구

출구

12

3

4

Page 121: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1 10 9입구

출구

12

3

4

Page 122: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1 10 9입구

출구

12

3

4

Page 123: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1 10 9입구

출구

12

3

4

Page 124: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1 10 9입구

출구

12

3

4

Page 125: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1 10 9입구

출구

12

3

4

Page 126: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1 10 9입구

13 번

12

3

4

Page 127: Kitel algorithm 2

최단거리 찾기6 13

4 5 6 12

3 7 11

2 8 9 10

1입구

12

3

4

13 번

Page 128: Kitel algorithm 2

최단거리 찾기8 9

9 7 6 8

10 5 7

11 4 5 6

1 2 3입구

12

3

4

13 번

Page 129: Kitel algorithm 2

최단거리 찾기8 9

9 7 6 8

10 5 7

11 4 5 6

1 2 3입구

12

3

4

13 번

Page 130: Kitel algorithm 2

최단거리 찾기8 9

9 7 6 8

10 5 7

11 4 5 6

1 2 3입구

12

3

4

13 번

Page 131: Kitel algorithm 2

최단거리 찾기8 9

9 7 6 8

10 5 7

11 4 5 6

1 2 3입구

12

3

4

13 번

Page 132: Kitel algorithm 2

최단거리 찾기8 9

9 7 6 8

10 5 7

11 4 5 6

1 2 3입구

12

3

4

13 번

Page 133: Kitel algorithm 2

최단거리 찾기8 9

9 7 6 8

10 5 7

11 4 5 6

1 2 3입구

12

3

4

13 번

Page 134: Kitel algorithm 2

최단거리 찾기8 9

9 7 6 8

10 5 7

11 4 5 6

1 2 3입구

12

3

4

13 번

Page 135: Kitel algorithm 2

최단거리 찾기8 9

9 7 6 8

10 5 7

11 4 5 6

1 2 3입구

12

3

4

13 번

Page 136: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

10 5 7

11 4 5 6

1 2 3입구

12

3

4

13 번

Page 137: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

9 5 7

11 4 5 6

1 2 3입구

12

3

4

13 번

Page 138: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

9 5 7

10 4 5 6

1 2 3입구

12

3

4

13 번

Page 139: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

9 5 7

10 4 5 6

1 2 3입구

12

3

4

13 번

Page 140: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

9 5 7

10 4 5 6

1 2 3입구

12

3

4

13 번

Page 141: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

9 5 7

10 4 5 6

1 2 3입구

12

3

4

13 번

Page 142: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

9 5 7

10 4 5 6

1 2 3입구

12

3

4

13 번

Page 143: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

9 5 7

10 4 5 6

1 2 3입구

12

3

4

13 번

Page 144: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

9 5 7

10 4 5 6

1 2 3입구

12

3

4

13 번

Page 145: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

9 5 7

10 4 5 6

1 2 3입구

12

3

4

13 번

Page 146: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

9 5 7

10 4 5 6

1 2 3입구

12

3

4

13 번

Page 147: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

9 5 7

10 4 5 6

1 2 3입구

12

3

4

13 번

Page 148: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

9 5 7

10 4 5 6

1 2 3입구

12

3

4

13 번

Page 149: Kitel algorithm 2

최단거리 찾기8 9

8 7 6 8

9 5 7

10 4 5 6

1 2 3입구

9 번

12

3

4

Page 150: Kitel algorithm 2

BFS, DFS 비교• 최단거리 탐색에서는 BFS 가 더 빠르다 .

==> 최단거리 탐색에서는 BFS

• DFS 는 모든 경우의 수를 다 탐색하기 때문에 ..!==> 모든 경우의 수를 다 따져봐야하면 DFS

Page 151: Kitel algorithm 2

Why Dynamic Programming?

• 실행 시간을 엄청나게 단축할 수 있다 .

• 알고리즘 대회는 DP 대회 !

• SW 역량평가에서 DP 로 풀면 거의 취업 확정 !

Page 152: Kitel algorithm 2

Dynamic Programming

• 한국어로 동적 계획법• 캐싱 (Caching)

• 이 전에 저장된 상태를 활용함 . => 메모리를 적극 활용한다 .

• 저장하는 상태는 항상 최적의 값 ! ( 내가 구해야하는 값 )

Page 153: Kitel algorithm 2

덩달이와 산신령

http://59.23.113.171/30stair/dungdal/dungdal.php?pname=dungdal

돈 많이 줍기

Page 154: Kitel algorithm 2

덩달이와 산신령 - 해설5 7 1

0 1 2 10

11 6

0번째 01번째 52번째 5

Page 155: Kitel algorithm 2

덩달이와 산신령 - 해설

5 7 10 1 2 10 11 60 번째 01 번째 52 번째 5

Page 156: Kitel algorithm 2

덩달이와 산신령 - 해설

5 7 10 1 2 10 11 60 번째 0 51 번째 52 번째 5

최대값 저장

Page 157: Kitel algorithm 2

덩달이와 산신령 - 해설

5 7 10 1 2 10 11 60 번째 0 51 번째 5 72 번째 5

첫 번째 줍는 것은 이 전에 줍지 않았다는 것 !

Page 158: Kitel algorithm 2

덩달이와 산신령 - 해설

5 7 10 1 2 10 11 60 번째 0 51 번째 5 72 번째 5 12

두 번째 줍는 것은 이 전에 한 번 주웠다는 것 !

Page 159: Kitel algorithm 2

덩달이와 산신령 - 해설

5 7 10 1 2 10 11 60 번째 0 5 12 17 17 19 29 381 번째 5 7 15 13 19 27 30 352 번째 5 12 17 16 15 29 38 36

Page 160: Kitel algorithm 2

덩달이와 산신령 - 해설

5 7 10 1 2 10 11 60 번째 0 5 12 17 17 19 29 381 번째 5 7 15 13 19 27 30 352 번째 5 12 17 16 15 29 38 36

Page 161: Kitel algorithm 2

덩달이와 산신령 - 해설

5 7 10 1 2 10 11 60 번째 0 5 12 17 17 19 29 381 번째 5 7 15 13 19 27 30 352 번째 5 12 17 16 15 29 38 36

Page 162: Kitel algorithm 2

덩달이와 산신령 - 해설

5 7 10 1 2 10 11 60 번째 0 5 12 17 17 19 29 381 번째 5 7 15 13 19 27 30 352 번째 5 12 17 16 15 29 38 36

Page 163: Kitel algorithm 2

덩달이와 산신령 - 해설

5 7 10 1 2 10 11 60 번째 0 5 12 17 17 19 29 381 번째 5 7 15 13 19 27 30 352 번째 5 12 17 16 15 29 38 36

Page 164: Kitel algorithm 2

덩달이와 산신령 - 해설

5 7 10 1 2 10 11 60 번째 0 5 12 17 17 19 29 381 번째 5 7 15 13 19 27 30 352 번째 5 12 17 16 15 29 38 36

Page 165: Kitel algorithm 2

덩달이와 산신령 - 해설

5 7 10 1 2 10 11 60 번째 0 5 12 17 17 19 29 381 번째 5 7 15 13 19 27 30 352 번째 5 12 17 16 15 29 38 36

Page 166: Kitel algorithm 2

덩달이와 산신령 - 해설

5 7 10 1 2 10 11 60 번째 0 5 12 17 17 19 29 381 번째 5 7 15 13 19 27 30 352 번째 5 12 17 16 15 29 38 36

Page 167: Kitel algorithm 2

SCV0 1 0 0 1

0 0 1 0 0

1 0 1 1 0

1 1 0 1 0

1 0 0 0 1

오른쪽과 아래로만 간다 .

Page 168: Kitel algorithm 2

SCV0 1 0 0 1

0 0 1 0 0

1 0 1 1 0

1 1 0 1 0

1 0 0 0 1

왼쪽과 위에서만 온다 !

Page 169: Kitel algorithm 2

SCV패 딩 패 딩 패 딩딩 0 1 0 0 1

패 0 0 1 0 0

딩 1 0 1 1 0

패 1 1 0 1 0

딩 1 0 0 0 1

왼쪽과 위에서만 온다 !

Page 170: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 0 0 1

0 0 0 1 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

왼쪽과 위에서만 온다 !

Page 171: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 0 0 1

0 0 0 1 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

왼쪽과 위에서만 온다 !

Page 172: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 0 0 1

0 0 0 1 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

왼쪽과 위에서만 온다 !

Page 173: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 0 1

0 0 0 1 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 174: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 0 1

0 0 0 1 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 175: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 1

0 0 0 1 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 176: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 1

0 0 0 1 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 177: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 0 1 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 178: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 0 1 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 179: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 0 1 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 180: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 1 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 181: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 1 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 182: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 183: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 0 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 184: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 185: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 0

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 186: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 187: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 188: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 0 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 189: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 190: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 1 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 191: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 192: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 1 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 193: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 194: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 0

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 195: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 196: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 1 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 197: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 198: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 1 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 199: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 200: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 0 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 201: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 202: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 1 0

0 1 0 0 0 1

큰 값만 가져온다

Page 203: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 0

0 1 0 0 0 1

큰 값만 가져온다

Page 204: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 0

0 1 0 0 0 1

큰 값만 가져온다

Page 205: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 5

0 1 0 0 0 1

큰 값만 가져온다

Page 206: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 5

0 1 0 0 0 1

큰 값만 가져온다

Page 207: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 5

0 3 0 0 0 1

큰 값만 가져온다

Page 208: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 5

0 3 0 0 0 1

큰 값만 가져온다

Page 209: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 5

0 3 3 0 0 1

큰 값만 가져온다

Page 210: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 5

0 3 3 0 0 1

큰 값만 가져온다

Page 211: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 5

0 3 3 3 0 1

큰 값만 가져온다

Page 212: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 5

0 3 3 3 0 1

큰 값만 가져온다

Page 213: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 5

0 3 3 3 5 1

큰 값만 가져온다

Page 214: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 5

0 3 3 3 5 1

큰 값만 가져온다

Page 215: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 5

0 3 3 3 5 6

큰 값만 가져온다

Page 216: Kitel algorithm 2

SCV0 0 0 0 0 0

0 0 1 1 1 2

0 0 1 2 2 2

0 1 1 3 4 4

0 2 3 3 5 5

0 3 3 3 5 6

큰 값만 가져온다

Page 217: Kitel algorithm 2

SCV - Code

• 앞에 저장된 값들만 필요• 입력을 받고 바로바로 처리