CSED232 – Programming Assignment #5 (Solution)

$ 35.00
Category:

Description

[์•ˆ๋‚ด์‚ฌํ•ญ]
1. ๋ชจ๋“  ๋ฌธ์ œ๋Š” C++์˜ standard ์ž…์ถœ๋ ฅ(i.e. std::cin, std::cout)์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
2. ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋Šฅ ์ ์ˆ˜ ๊ธฐ์ค€์€ ์ฑ„์ ์šฉ testcase ํ†ต๊ณผ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค.
1) ๊ธฐ๋Šฅ๋ณ„ ์ ์ˆ˜๋Š” ์ฑ„์ ๊ธฐ์ค€์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”. 2) ์ฑ„์ ์šฉ testcase๋Š” ๋น„๊ณต๊ฐœ์ž…๋‹ˆ๋‹ค.

[๊ฐ์ ]
1. ์ œ์ถœ ๊ธฐํ•œ์ด ์ง€๋‚˜๋ฉด ์–ป์€ ์ด์ ์˜ 20% ๊ฐ์ 
2. ํ•˜๋ฃจ(24์‹œ๊ฐ„) ๋Šฆ์„ ๋•Œ๋งˆ๋‹ค ์ถ”๊ฐ€ 20%์”ฉ ๊ฐ์ 
a. 1์ผ ์ด๋‚ด: 20% ๊ฐ์ , 2์ผ ์ด๋‚ด: 40% ๊ฐ์ , 3์ผ ์ด๋‚ด: 60% ๊ฐ์ , 4์ผ ์ด๋‚ด 80% ๊ฐ์ 
b. 4์ผ ์ด์ƒ: 0์ 
3. ์ปดํŒŒ์ผ์ด ์ •์ƒ์ ์œผ๋กœ ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์ตœ์†Œ 25% ๊ฐ์ 

[์ œ์ถœ๋ฐฉ์‹]
๋ณธ์ธ ์ปดํŒŒ์ผ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ [์ฑ„์ ํ™˜๊ฒฝ]์„ ์ฐธ๊ณ ํ•ด์„œ ์ œ์ถœํ•ด์ฃผ์„ธ์š”. ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜์‹ค ๋•Œ, ๊ฐœ๋ฐœํ™˜๊ฒฝ ํŒŒ์ผ์˜ โ€œํŒŒ์ผ ์ œ์ถœโ€ํŽ˜์ด์ง€์— ์จ ์žˆ๋Š” ๋Œ€๋กœ ๋งž์ถฐ ์˜ฌ๋ ค ์ฃผ์‹œ๊ธฐ ๋ฐ” ๋ž๋‹ˆ๋‹ค. ํด๋”๋ช…์€ ํ•™๋ฒˆ(e.g. 20230000)์œผ๋กœ ๋งŒ๋“ค์–ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฌธ์ œ ํด๋” ์•ˆ์— ๊ฐ ๋ฌธ์ œ ์— ํ•ด๋‹นํ•˜๋Š” Report(e.g. 20230000_report)๋„ ์ฒจ๋ถ€ํ•˜์—ฌ zipํŒŒ์ผ๋กœ ์••์ถ•ํ•œ ํ›„ ์ œ์ถœํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ ๋‹ค.
์ œ์ถœ์€ ๋ฐ˜๋“œ์‹œ PLMS๋ฅผ ํ†ตํ•ด ์ œ์ถœํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ ์ œ์ถœ์€ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ œ์ถœ ๊ธฐํ•œ์„ ๊ธฐ์ค€์œผ๋กœ 4์ผ(5์›” 21์ผ 23์‹œ 59๋ถ„ 59์ดˆ)์ด ๊ฒฝ๊ณผํ•œ ์ดํ›„์—๋Š” 0์ ์ด๋ฏ€๋กœ PLMS์—์„œ๋„ ๊ณผ์ œ ์ œ์ถœ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ œ์ถœํŒŒ์ผ ์˜ˆ์‹œ) 20230000.zip
[์ฑ„์ ๊ธฐ์ค€]
1. ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋Šฅ (์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„) โ€“ 85%
1) ํ”„๋กœ๊ทธ๋žจ์ด ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋ชจ๋‘ ๋งŒ์กฑํ•˜๋ฉด์„œ ์˜ฌ๋ฐ”๋กœ ์‹คํ–‰๋˜๋Š”๊ฐ€?
2) ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ(๋ณ€์ˆ˜, ํ•จ์ˆ˜, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ) ์„ค๊ณ„๊ฐ€ ์ ์ ˆํ•œ๊ฐ€? 3) ๊ฐ ๋ฌธ์ œ์—์„œ ์ œ์‹œํ•œ ์„ธ๋ถ€ ์กฐ๊ฑด์˜ ์œ ์˜์‚ฌํ•ญ์„ ๋ชจ๋‘ ๋งŒ์กฑํ•˜์˜€๋Š”๊ฐ€?
4) ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์ด ์ฃผ์–ด์ง„ ํ˜•์‹์— ๋งž๊ฒŒ ํ”„๋กœ๊ทธ๋žจ์ด ์ž˜ ์ž‘๋™ํ•˜๋Š”๊ฐ€? (๋‹จ์ˆœ ์˜คํƒ€ ์ œ์™ธ)
5) GGD, Goose, Bird, Goose, Duck ํด๋ž˜์Šค 30์ 
6) BirdList ํด๋ž˜์Šค 15์ 
7) MorticianGoose, DetectiveGoose, AssassinDuck ํด๋ž˜์Šค ๊ฐ 10์  (์ด 30)
8) Falcon, DodoBird ํด๋ž˜์Šค ๊ฐ 5์  (์ด 10)
2. ํ”„๋กœ๊ทธ๋žจ ๊ฐ€๋…์„ฑ โ€“ 5%
1) ๋ณ€์ˆ˜ ๋ฐ ํ•จ์ˆ˜ ๋ช…์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์‰ฌ์šด๊ฐ€?
2) ํ”„๋กœ๊ทธ๋žจ์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋„๋ก ์ฃผ์„์„ ์ž˜ ์ž‘์„ฑํ•˜์˜€๋Š”๊ฐ€?
3) GGD, BirdList ํด๋ž˜์Šค ์œ„์ฃผ๋กœ ์ฃผ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
4) ํ•จ์ˆ˜ ์„ ์–ธ์‹œ ํ•จ์ˆ˜์˜ ์—ญํ•  ํ˜น์€ ๊ธฐ๋Šฅ ๋“ฑ์„ ํ•œ ์ค„ ์ •๋„๋กœ ์š”์•ฝ
5) ํ•จ์ˆ˜ body์—์„œ๋Š” ์ฃผ์š” ๋ฐ˜๋ณต๋ฌธใ†branch๋ฌธ ์œ„์ฃผ๋กœ ์ฃผ์„ ์ž‘์„ฑํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
3. ๋ณด๊ณ ์„œ ๊ตฌ์„ฑ ๋ฐ ๋‚ด์šฉ, ์–‘์‹ โ€“ 10%
1) ๋ณด๊ณ ์„œ๋Š” ์ ์ ˆํ•œ ๋‚ด์šฉ์œผ๋กœ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ๋ณด๊ธฐ ์ข‹๊ฒŒ ์ž˜ ์ž‘์„ฑ๋˜์—ˆ๋Š”๊ฐ€?
2) ๋ณด๊ณ ์„œ์˜ ์–‘์‹์„ ์ž˜ ๋”ฐ๋ž๋Š”๊ฐ€?
3) ๋ฌธ์ œ์—์„œ ์ œ์‹œํ•œ ์งˆ๋ฌธ์ด ์žˆ๋‹ค๋ฉด, ๊ทธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์ด ์ถฉ๋ถ„ํ•˜๊ณ  ์ ์ ˆํ•œ๊ฐ€?

[์ฃผ์˜์‚ฌํ•ญ]
๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ์ธํ„ฐ๋„ท ๋“ฑ์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋‹จ์ˆœํžˆ ๋ณต์‚ฌ(copy)ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•ด์„œ ์ œ์ถœ ํ•˜๋ฉด ๋ถ€์ •ํ–‰์œ„๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ๋ถ€์ •ํ–‰์œ„ ์ ๋ฐœ ์‹œ โ€˜Fโ€™ ํ•™์ ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•™๊ณผ์—์„œ ์ •ํ•œ ๊ธฐ์ค€์— ๋”ฐ๋ผ ์ถ”๊ฐ€์ ์ธ ๋ถˆ์ด์ต์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[์ฑ„์ ํ™˜๊ฒฝ]
1) ๊ทธ๋ฆผ 1 ์ฐธ๊ณ ํ•˜์—ฌ ์ œ์ถœ
2) ์ฑ„์  ํŽธ์˜๋ฅผ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์€ โ€œCSED232_Assignment5โ€๋กœ ํ†ต์ผ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
3) x64ํด๋”(2๊ฐœ ์žˆ์Œ) ๋ฐ .vsํด๋”(์ˆจ๊น€ ํด๋”) ์‚ญ์ œํ•ด์ฃผ์„ธ์š”.
2. g++ 13.1.0
1) ๊ทธ๋ฆผ 2 ์ฐธ๊ณ ํ•˜์—ฌ ์ œ์ถœ

๋ฌธ์ œ: Goose Goose Duck
[๋ฌธ์ œ ์„ค๋ช…]
์กฐ๊ต ๊ฐ•๋ณ‘์šฑ์€ ์ตœ๊ทผ์— ์—ฐ๊ตฌ์‹ค ๋™๋ฃŒ๋“ค๊ณผ Goose Goose Duck ์„ ๊ฐ๋ช…๊นŠ๊ฒŒ ํ”Œ๋ ˆ์ดํ•˜์—ฌ, ์ด๋ฒˆ ๊ณผ์ œ๋ฅผ Goose Goose Duck ์„ ์ฃผ์ œ๋กœํ•˜์—ฌ ์ถœ์ œํ•˜๊ธฐ๋กœ ๋งˆ์Œ๋จน์—ˆ๋‹ค. GUI ๊ณผ์ œ๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ, ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„์œผ๋กœ ๊ฐ์ƒ‰ํ•˜์—ฌ ๊ณผ์ œ๋ฅผ ์ถœ์ œํ•˜์˜€๋‹ค.

[Goose Goose Duck POSTECH-CSED232 Edition ๊ฒŒ์ž„ ์„ค๋ช…]
1. ๊ฒŒ์ž„ ๊ฐœ์š”
Goose Goose Duck ์€ ์˜จ๋ผ์ธ ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด ๊ฒŒ์ž„์œผ๋กœ, ์˜จ๋ผ์ธ ๊ฒŒ์ž„ โ€˜์–ด๋ชฝ์–ด์Šคโ€™์™€ ํŒŒํ‹ฐ ๊ฒŒ์ž„์ธ
โ€˜๋งˆํ”ผ์•„โ€™๋ฅผ ๋ชจํ‹ฐ๋ธŒ๋กœ ํ•˜์—ฌ ์ œ์ž‘๋œ ์‚ฌํšŒ์  ์ถ”๋ก  ๊ฒŒ์ž„์ด๋‹ค. ์„œ๋กœ ์ •์ฒด๋ฅผ ์•Œ๊ณ  ์žˆ๋Š” ์˜ค๋ฆฌ ์ง„์˜๊ณผ ์„œ๋กœ ์ •์ฒด๋ฅผ ๋ชจ๋ฅด๋Š” ๊ฑฐ์œ„ ์ง„์˜๊ฐ„์˜ ์‹ธ์›€์œผ๋กœ, ๊ฐ ์ง„์˜๋งˆ๋‹ค ์Šน๋ฆฌ ์กฐ๊ฑด์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ผ์šด๋“œ๋งˆ๋‹ค ์ƒ๋Œ€ ์ง„์˜ ๊ตฌ์„ฑ์›์„ ์ œ๊ฑฐํ•ด ๋‚˜๊ฐ€๋Š” ๊ฒŒ์ž„์ด๋‹ค. ๊ฐ ์ง„์˜๋ณ„ ์Šน๋ฆฌ ๋ชฉํ‘œ์™€ ๋ผ์šด๋“œ๋งˆ๋‹ค์˜ ์ง„ํ–‰ ๋ฐฉ์‹์€ ํ›„์ˆ .

2. ๋ผ์šด๋“œ ์ง„ํ–‰ ๋ฐฉ์‹
2.1. ์—ญํ• ๋ณ„ ๋Šฅ๋ ฅ ์‚ฌ์šฉ Phase
2.1.1. ์ƒ์กดํ•œ ํ”Œ๋ ˆ์ด์–ด๋“ค์€ ์ˆœ์„œ๋Œ€๋กœ ๋Šฅ๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋Šฅ๋ ฅ ์‚ฌ์šฉ ์—ญํ•  ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. โ“ž์†ก๊ณจ๋งค(Falcon) โ‘ ์•”์‚ด์ž ์˜ค๋ฆฌ(Assassin Duck) โ‘ก์˜ค๋ฆฌ(Duck) โ‘ขํƒ์ • ๊ฑฐ์œ„(Detective Goose) โ‘ฃ์žฅ์˜์‚ฌ ๊ฑฐ์œ„(Mortician Goose) โ‘ค๊ฑฐ์œ„(Goose) โ‘ฅ๋„๋„์ƒˆ(Dodo
Bird). ์—ญํ• ์ด ๊ฐ™์€ ํ”Œ๋ ˆ์ด์–ด๊ฐ„์—๋Š” ํ”Œ๋ ˆ์ด์–ด ์ถ”๊ฐ€ ์ˆœ์„œ๋ฅผ ๋”ฐ๋ฅธ๋‹ค. ์ฆ‰, ๊ฐ™์€ ์—ญํ• ๊ฐ„์—๋Š” ๋จผ์ € ์ถ”๊ฐ€๋œ ํ”Œ๋ ˆ์ด์–ด์ผ์ˆ˜๋ก ๋จผ์ € ๋Šฅ๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค.
2.1.2. ์—ญํ• ๋ณ„ ๋Šฅ๋ ฅ์€ ์—ญํ•  ์„ค๋ช…ํ•ญ๋ชฉ์„ ์ฐธ๊ณ .

2.2. ํˆฌํ‘œ Phase
2.2.1. ์ƒ์กดํ•œ ํ”Œ๋ ˆ์ด์–ด๋“ค์€ ์ˆœ์„œ๋Œ€๋กœ ํˆฌํ‘œ๋ฅผ ํ•œ๋‹ค. ํˆฌํ‘œ ์ˆœ์„œ๋Š” ํ”Œ๋ ˆ์ด์–ด ์ถ”๊ฐ€ ์ˆœ์„œ๋ฅผ ๋”ฐ๋ฅธ๋‹ค. ์ฆ‰, ๋จผ์ € ์ถ”๊ฐ€๋œ ํ”Œ๋ ˆ์ด์–ด์ผ์ˆ˜๋ก ๋จผ์ € ํˆฌํ‘œ๋ฅผ ํ•œ๋‹ค.
2.2.2. ๊ฐ ํ”Œ๋ ˆ์ด์–ด๋Š” ์ž๊ธฐ ์ž์‹ ์„ ํฌํ•จํ•œ ์‚ฌ๋งํ•˜์ง€ ์•Š์€ ๋ชจ๋“  ํ”Œ๋ ˆ์ด์–ด์— ๋Œ€ํ•ด ํ•œ ํ‘œ๋ฅผ ํ–‰์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ฌด ํ”Œ๋ ˆ์ด์–ด์—๊ฒŒ๋„ ํˆฌํ‘œํ•˜์ง€ ์•Š๋Š” ๋ฌดํšจํ‘œ๋ฅผ ํ–‰์‚ฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
2.2.3. ๊ฐ€์žฅ ๋งŽ์€ ํˆฌํ‘œ๋ฅผ ๋ฐ›์€ ํ”Œ๋ ˆ์ด์–ด๋Š” ์ถ”๋ฐฉ(์‚ฌ๋ง์ฒ˜๋ฆฌ) ๋‹นํ•œ๋‹ค. ์ถ”๋ฐฉ๋‹นํ•œ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์˜ค๋ฆฌ์ธ์ง€ ์•„๋‹Œ์ง€ ๋ชจ๋‘์—๊ฒŒ ๊ณต๊ฐœ๋œ๋‹ค. ์ด ๋•Œ, ๋ฌดํšจํ‘œ๋ฅผ ํฌํ•จํ•˜์—ฌ ๊ฐ€์žฅ ๋งŽ์€ ํˆฌํ‘œ๋ฅผ ๋ฐ›์€ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋‘˜ ์ด์ƒ์ผ ๊ฒฝ์šฐ ์•„๋ฌด๋„ ์ถ”๋ฐฉ ๋‹นํ•˜์ง€ ์•Š๋Š”๋‹ค.

2.3. ์Šน๋ฆฌ ์กฐ๊ฑด ๋‹ฌ์„ฑ ์—ฌ๋ถ€ ํŒ๋‹จ ๋Šฅ๋ ฅ ์‚ฌ์šฉ Phase ์™€ ํˆฌํ‘œ Phase ๊ฐ€ ์ข…๋ฃŒ๋˜๊ณ ๋‚˜๋ฉด ์ง„์˜๋ณ„ ์Šน๋ฆฌ ์กฐ๊ฑด์„ ํŒ๋‹จํ•˜๊ณ , ์Šน๋ฆฌํ•œ ์ง„์˜์ด ์žˆ๋‹ค๋ฉด ๊ฒŒ์ž„ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ ๋’ค ๊ฒŒ์ž„์„ ์ข…๋ฃŒํ•œ๋‹ค. ์Šน๋ฆฌํ•œ ์ง„์˜์ด ์—†๋‹ค๋ฉด ๋‹ค์Œ ๋ผ์šด๋“œ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. ์Šน๋ฆฌ ์กฐ๊ฑด์€ ์ง„์˜๋ณ„ ์Šน๋ฆฌ ์กฐ๊ฑดํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•˜๋ผ.

3. ์ง„์˜๋ณ„ ์Šน๋ฆฌ ์กฐ๊ฑด
3.1. ๊ฑฐ์œ„ (Goose)
๊ฑฐ์œ„ ์ง„์˜์— ์†ํ•œ ์—ญํ• ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค: ๊ฑฐ์œ„(Goose), ํƒ์ • ๊ฑฐ์œ„(Detective Goose) ๊ทธ๋ฆฌ๊ณ  ์žฅ์˜์‚ฌ ๊ฑฐ์œ„(Mortician Goose). ๊ฑฐ์œ„ ์ง„์˜์— ์†ํ•œ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ํ•œ ๋ช…์ด๋ผ๋„ ์ƒ์กดํ•ด ์žˆ๊ณ , ์˜ค๋ฆฌ ์ง„์˜์— ์†ํ•œ ๋ชจ๋“  ํ”Œ๋ ˆ์ด์–ด์™€ ์†ก๊ณจ๋งค๊ฐ€ ์‚ฌ๋งํ•œ ๊ฒฝ์šฐ์— ๊ฑฐ์œ„๊ฐ€ ์Šน๋ฆฌํ•œ๋‹ค. (๋„๋„์ƒˆ๋Š” ์‚ด์ƒ ๋Šฅ๋ ฅ์ด ์—†์–ด ์ƒ์กดํ•ด ์žˆ์–ด๋„ ์ƒ๊ด€์—†๋‹ค.)
3.2. ์˜ค๋ฆฌ (Duck)
์˜ค๋ฆฌ ์ง„์˜์— ์†ํ•œ ์—ญํ• ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค: ์˜ค๋ฆฌ(Duck) ๊ทธ๋ฆฌ๊ณ  ์•”์‚ด์ž ์˜ค๋ฆฌ(Assassin Duck). ์˜ค๋ฆฌ ์ง„์˜์— ์†ํ•œ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ํ•œ ๋ช…์ด๋ผ๋„ ์ƒ์กดํ•ด ์žˆ๊ณ , ์‚ด์•„๋‚จ์€ ์˜ค๋ฆฌ ์ง„์˜ ํ”Œ๋ ˆ์ด์–ด์˜ ์ˆ˜๊ฐ€ ์‚ด์•„๋‚จ์€ ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด์˜ ์ˆ˜๋ณด๋‹ค ๋งŽ๊ฑฐ๋‚˜ ๋™์ผํ•œ ๊ฒฝ์šฐ ์˜ค๋ฆฌ๊ฐ€ ์Šน๋ฆฌํ•œ๋‹ค. ๋‹จ, ์ƒ์กดํ•œ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ 2 ๋ช… ์ผ ๋•Œ, ์ƒ์กดํ•œ ์กฐ๋ฅ˜๊ฐ€ ์˜ค๋ฆฌ ์ง„์˜ ์กฐ๋ฅ˜๊ฐ€ ํ•œ๋งˆ๋ฆฌ์ด๊ณ  ์†ก๊ณจ๋งค๊ฐ€ ํ•œ๋งˆ๋ฆฌ์ธ ๊ฒฝ์šฐ์—๋Š”, ์˜ค๋ฆฌ์˜ ์Šน๋ฆฌ๊ฐ€ ์•„๋‹Œ ์†ก๊ณจ๋งค์˜ ์Šน๋ฆฌ๋‹ค.
3.3. ์ค‘๋ฆฝ (Neutural)
์ค‘๋ฆฝ ์ง„์˜์€ ๊ฑฐ์œ„์™€ ์˜ค๋ฆฌ ์–‘์ธก ๋ชจ๋‘์™€ ์Šน๋ฆฌ ์กฐ๊ฑด์„ ๊ณต์œ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ค‘๋ฆฝ ์ง„์˜์— ์†ํ•œ ์†ก๊ณจ๋งค์™€ ๋„๋„์ƒˆ๋„ ์„œ๋กœ ์Šน๋ฆฌ ์กฐ๊ฑด์„ ๊ณต์œ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์†ก๊ณจ๋งค์™€ ๋„๋„์ƒˆ๋Š” ๊ฐ๊ฐ ํ•œ ๋งˆ๋ฆฌ์”ฉ๋งŒ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค.
3.3.1. ์†ก๊ณจ๋งค๋Š” ์ž๊ธฐ ์ž์‹ ์ด ์‚ด์•„์žˆ๊ณ , ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ํ•œ๋ช… ์ดํ•˜์ผ ๋•Œ ์Šน๋ฆฌํ•œ๋‹ค.
3.3.2. ๋„๋„์ƒˆ๋Š” ๊ฐ€์žฅ ๋งŽ์€ ํˆฌํ‘œ๋ฅผ ๋ฐ›์•„ ์ถ”๋ฐฉ๋‹นํ–ˆ์„ ๋•Œ ๋‚จ์€ ์—ญํ• ์˜ ์ˆ˜์™€ ์ข…๋ฅ˜์— ๊ด€๊ณ„์—†์ด ์Šน๋ฆฌํ•œ๋‹ค. ๋งˆ์ง€๋ง‰์— ๋„๋„์ƒˆ ํ˜ผ์ž๋งŒ ์‚ด์•„๋‚จ๋Š” ์ƒํ™ฉ์€ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. (๋„๋„์ƒˆ์™€ ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด ๋‘˜๋งŒ ๋‚จ์€ ์ƒํ™ฉ์—์„œ ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด๋Š” ๋ฌดํšจํ‘œ๋งŒ ๋˜์ ธ๋„ ๋ณธ์ธ์ด ์ด๊ธธ ์ˆ˜ ์žˆ์œผ๋‹ˆ ๋„๋„์ƒˆ์—๊ฒŒ ํˆฌํ‘œํ•˜์—ฌ ๊ณ ์˜ ํŒจ๋ฐฐ๋ฅผ ํ•˜๋Š” ์ƒํ™ฉ์€ ์—†๋‹ค๊ณ 
๊ฐ€์ •ํ•˜์ž.)
4. ์—ญํ•  ์„ค๋ช… ์•„๋ž˜์˜ ํ‘œ๋ฅผ ์ฐธ๊ณ ํ•˜๋ผ. ๋ฒˆํ˜ธ๋Š” ๋Šฅ๋ ฅ ์‚ฌ์šฉ Phase ์—์„œ์˜ ์ˆœ์„œ์™€ ์‚ฌ์šฉ์ž๊ฐ€ ํ”Œ๋ ˆ์ด์–ด ์ถ”๊ฐ€์‹œ ์ž…๋ ฅํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฒˆํ˜ธ์™€ ๊ฐ™๋‹ค.
๋ฒˆํ˜ธ ์ด๋ฆ„ ๊ทธ๋ฆผ ์„ค๋ช…
๊ฑฐ์œ„
5 ๋Šฅ๋ ฅ์ด ์—†๋Š” ์—ญํ• ์ด๋‹ค.
(Goose)

๋ผ์šด๋“œ๋งˆ๋‹ค โ€˜์กฐ์‚ฌโ€™ ๋Šฅ๋ ฅ์„ 1 ํšŒ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜์ง€
ํƒ์ • ๊ฑฐ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค.
3 (Detective ์กฐ์‚ฌ: ์ƒ์กดํ•œ ํ”Œ๋ ˆ์ด์–ด ์ค‘ ํ•œ ๋ช…์„ ์„ ํƒํ•˜์—ฌ, ํ•ด๋‹น
Goose) ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ด๋ฒˆ ๋ผ์šด๋“œ์—์„œ ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ฃฝ์˜€๋Š”์ง€ ์ฃฝ์ด์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
์žฅ์˜์‚ฌ ๋ผ์šด๋“œ๋งˆ๋‹ค โ€˜์—ผ์Šตโ€™ ๋Šฅ๋ ฅ์„ 1 ํšŒ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜์ง€ ๊ฑฐ์œ„ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค.
4
(Mortician ์—ผ์Šต: ์ฃฝ์€ ํ”Œ๋ ˆ์ด์–ด ์ค‘ ํ•œ ๋ช…์„ ์„ ํƒํ•˜์—ฌ, ํ•ด๋‹น Goose) ํ”Œ๋ ˆ์ด์–ด์˜ ์—ญํ• ์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

๋ผ์šด๋“œ๋งˆ๋‹ค โ€˜์‚ด์กฐโ€™ ๋Šฅ๋ ฅ์„ 1 ํšŒ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค.
์‚ด์กฐ(ๆฎบ้ณฅ): ์ž์‹ ์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด ํ•œ ๋ช…์„ ์ฃฝ์ผ
์˜ค๋ฆฌ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋ฅธ ์˜ค๋ฆฌ๋ฅผ ๋Œ€์ƒ์œผ๋กœ๋„ ๊ฐ™์€ ์ง„์˜์ด์ง€๋งŒ
2
(Duck) ๋Œ€์˜๋ฅผ ์œ„ํ•ด ์ฃฝ์ผ ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ํ•ด๋‹น ๋ผ์šด๋“œ์— ์ด๋ฏธ ๋‹ค๋ฅธ ์˜ค๋ฆฌ๋“ค์ด โ€˜๋ผ์šด๋“œ๋‹น ์˜ค๋ฆฌ ์‚ด์กฐ ์ œํ•œ ํšŸ์ˆ˜โ€™๋งŒํผ ์ฃฝ์˜€๋‹ค๋ฉด, ํ•ด๋‹น ๋ผ์šด๋“œ์—์„œ๋Š” ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ฃฝ์ผ ์ˆ˜ ์—†๋‹ค.
๋ผ์šด๋“œ๋งˆ๋‹ค โ€˜์•”์‚ดโ€™ ๋Šฅ๋ ฅ๊ณผ โ€˜์‚ด์กฐโ€™ ๋Šฅ๋ ฅ์„ ๊ฐ๊ฐ 1 ํšŒ์”ฉ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๋ผ์šด๋“œ๋งˆ๋‹ค โ€˜์•”์‚ดโ€™ ๋Šฅ๋ ฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์œผ๋ฉด โ€˜์‚ด์กฐโ€™ ๋Šฅ๋ ฅ๋ณด๋‹ค ๋จผ์ € ์‚ฌ์šฉํ•ด์•ผ๋งŒ ํ•œ๋‹ค. ์ฆ‰, ํ•ด๋‹น ๋ผ์šด๋“œ์—์„œ โ€˜์‚ด์กฐโ€™ ๋Šฅ๋ ฅ์„ ๋จผ์ € ์‚ฌ์šฉํ–ˆ์œผ๋ฉด ํ•ด๋‹น ๋ผ์šด๋“œ์—์„œ๋Š” โ€˜์•”์‚ดโ€™ ๋Šฅ๋ ฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
์•”์‚ด์ž ์•”์‚ด: ํ•œ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์„ ํƒํ•˜์—ฌ ์—ญํ• ์„ ๋งž์ถ”๋ฉด ํ•ด๋‹น
์˜ค๋ฆฌ
1 ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ฃฝ์ผ ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ์„ ํƒํ•œ ํ”Œ๋ ˆ์ด์–ด์˜
(Assassin
์—ญํ• ์„ ๋งž์ถ”์ง€ ๋ชปํ–ˆ์„ ๊ฒฝ์šฐ, ํ”„๋ผ์ด๋“œ์— ์น˜๋ช…์ ์ธ
Duck)
์ƒ์ฒ˜๋ฅผ ์ž…๊ฒŒ๋˜์–ด ์„ ํƒํ•œ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ฃฝ์ด์ง€ ๋ชปํ•œ์ฑ„ ๋น„๊ด€ํ•˜์—ฌ ์ž์‚ดํ•œ๋‹ค. ์•”์‚ด ๋Šฅ๋ ฅ์œผ๋กœ ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ฃฝ์˜€์„ ๊ฒฝ์šฐ, ๋ผ์šด๋“œ๋‹น ์˜ค๋ฆฌ ์‚ด์กฐ ์ œํ•œ ์ˆ˜์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ฒŒ์ž„์ด ์ง„ํ–‰๋˜๋Š” ๋ชจ๋“  ๋ผ์šด๋“œ ๋™์•ˆ ์•”์‚ด ๋Šฅ๋ ฅ์€ 2 ํšŒ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์‚ด์กฐ: ์˜ค๋ฆฌ(Duck)์˜ ์‚ด์กฐ ๋Šฅ๋ ฅ๊ณผ ๋™์ผ.
๊ฒŒ์ž„๋‹น ์ตœ๋Œ€ ํ•œ ๋งˆ๋ฆฌ๋งŒ ์กด์žฌ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋‹ค๋ฅธ ์กฐ๋ฅ˜์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ํˆฌํ‘œ๋Š” ๋ฌดํšจํ‘œ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ผ์šด๋“œ๋งˆ๋‹ค โ€˜์‚ด์กฐโ€™
์†ก๊ณจ๋งค
0 ๋Šฅ๋ ฅ์„ 1 ํšŒ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค.
(Falcon)
โ€˜์‚ด์กฐโ€™: ์ž์‹ ์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ์กฐ๋ฅ˜ ํ•œ ๋งˆ๋ฆฌ๋ฅผ ์ฃฝ์ผ ์ˆ˜ ์žˆ๋‹ค.
๋„๋„์ƒˆ ๊ฒŒ์ž„๋‹น ์ตœ๋Œ€ ํ•œ ๋งˆ๋ฆฌ๋งŒ ์กด์žฌ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋Šฅ๋ ฅ์ด ์—†๋Š”
6 (Dodo ์—ญํ• ์ด๋‹ค.
Bird)

[ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋Šฅ] 1. ๊ฒŒ์ž„ ์„ค์ • ๊ธฐ๋Šฅ
ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด ๊ทธ๋ฆผ 3 ๊ณผ ๊ฐ™์€ ๊ฒŒ์ž„ ์„ค์ • ๋ฉ”๋‰ด๊ฐ€ ์ถœ๋ ฅ๋˜๋ฉฐ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฉ”๋‰ด ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ ๋ฐ›๋Š”๋‹ค. ์ด๋•Œ ์„ ํƒ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋‰ด๋Š” 3 ๊ฐœ์ด๋ฉฐ, ๊ฐ ๋ฉ”๋‰ด์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์•„๋ž˜์—์„œ ์„ค๋ช…๋œ๋‹ค. 1,2 ๋ฒˆ ๋ฉ”๋‰ด์˜ ๊ธฐ๋Šฅ ์ˆ˜ํ–‰์ด ๋๋‚œ ๋’ค์—๋Š” ๋ฉ”๋‰ด๋ฅผ ๋‹ค์‹œ ์ถœ๋ ฅํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž˜๋ชป๋œ ๋ฉ”๋‰ด ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

๊ทธ๋ฆผ 3 ๊ฒŒ์ž„ ์„ค์ • ๋ฉ”๋‰ด ๋ฉ”์ธ ํ™”๋ฉด
1.1. ํ”Œ๋ ˆ์ด์–ด ์ถ”๊ฐ€
โ€œํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”: โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ถ”๊ฐ€ํ•  ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์€ ๊ณต๋ฐฑ์ด ํฌํ•จ๋˜์ง€ ์•Š์€ 10 ์ž ์ด๋‚ด์˜ ๋ฌธ์ž์—ด๋กœ ์ž…๋ ฅ๋œ๋‹ค. ๋นˆ ๋ฌธ์ž์—ด์ด๋‚˜ ์ด์ „์— ์ž…๋ ฅ๋˜์—ˆ๋˜ ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.
โ€œ์—ญํ•  ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”: โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ถ”๊ฐ€ํ•  ํ”Œ๋ ˆ์ด์–ด์˜ ์—ญํ•  ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ํ”Œ๋ ˆ์ด์–ด์˜ ์—ญํ•  ๋ฒˆํ˜ธ๋Š” [0,6]์— ์†ํ•˜๋Š” ์ •์ˆ˜๋งŒ ์ž…๋ ฅ๋œ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์†ก๊ณจ๋งค๋‚˜ ๋„๋„์ƒˆ๋ฅผ ๊ฐ๊ฐ ๋‘๋งˆ๋ฆฌ ์ด์ƒ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ๊ทธ๋ฆผ 4 ์ฐธ๊ณ .

๊ทธ๋ฆผ 4 ํ”Œ๋ ˆ์ด์–ด ์ถ”๊ฐ€ ๊ธฐ๋Šฅ
1.2. ๋ผ์šด๋“œ๋‹น ์˜ค๋ฆฌ ์‚ด์กฐ ์ œํ•œ ํšŸ์ˆ˜ ๋ณ€๊ฒฝ ๋ผ์šด๋“œ๋‹น ์˜ค๋ฆฌ ์‚ด์กฐ ์ œํ•œ ํšŸ์ˆ˜์˜ ๋””ํดํŠธ ๊ฐ’์€ 1์ด๋‹ค.
โ€œ๊ฐ’์„ ์ž…๋ ฅํ•˜์„ธ์š”: โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ์ž…๋ ฅ ๋ฐ›์€ ๊ฐ’์œผ๋กœ ๋ผ์šด๋“œ๋‹น ์˜ค๋ฆฌ ์‚ด์กฐ ์ œํ•œ ํšŸ์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์–‘์˜ ์ •์ˆ˜๋งŒ ์ž…๋ ฅํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.
1.3. ๊ฒŒ์ž„ ์‹œ์ž‘ํ•˜๊ธฐ!
์–ด๋А ์ง„์˜์˜ ์Šน๋ฆฌ ์กฐ๊ฑด์ด ์ด๋ฏธ ๋งŒ์กฑ๋˜์–ด ๊ฒŒ์ž„์„ ์ •์ƒ์ ์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์™€ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ํ•œ ๋ช…๋„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋Š” โ€œ๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค!!โ€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๊ทธ ์™ธ์˜ ์ •์ƒ์ ์ธ ๊ฒŒ์ž„ ์‹œ์ž‘ ๊ฐ€๋Šฅ ๊ฒฝ์šฐ์—๋Š” โ€œ๊ฒŒ์ž„ ์‹œ์ž‘!!โ€์„ ์ถœ๋ ฅํ•˜๊ณ  ๊ฒŒ์ž„ ์„ค์ • ๊ธฐ๋Šฅ์„ ์ข…๋ฃŒํ•œ๋‹ค.

2. ๊ฒŒ์ž„ ์ง„ํ–‰ ๊ธฐ๋Šฅ
๋งค ๋ผ์šด๋“œ๋งˆ๋‹ค โ€œ—————-Round [ํ˜„์žฌ ๋ผ์šด๋“œ(1 ๋ถ€ํ„ฐ ์‹œ์ž‘)]—————-โ€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๊ทธ๋ฆผ 5,6 ์ฐธ๊ณ .

2.1. ๋Šฅ๋ ฅ ์‚ฌ์šฉ Phase
๊ฐ ํ”Œ๋ ˆ์ด์–ด๋งˆ๋‹ค ์ž์‹ ์˜ ์ฐจ๋ก€๊ฐ€ ์˜ค๋ฉด โ€œ[ํ˜„์žฌ ์ฐจ๋ก€ ํ”Œ๋ ˆ์ด์–ด ์ด๋ฆ„]๋‹˜ ๋‹น์‹ ์€ [ํ˜„์žฌ ์ฐจ๋ก€ ํ”Œ๋ ˆ์ด์–ด ์—ญํ•  ์ด๋ฆ„]์ž…๋‹ˆ๋‹ค.โ€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
๋Šฅ๋ ฅ์ด ์žˆ๋Š” ์กฐ๋ฅ˜์˜ ์ฐจ๋ก€๋ผ๋ฉด โ€œ[๋Šฅ๋ ฅ ์ด๋ฆ„]์„(๋ฅผ) ์‚ฌ์šฉํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? [Y/N]: โ€๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ ๋Šฅ๋ ฅ ์‚ฌ์šฉ ์—ฌ๋ถ€๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ Y ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋Šฅ๋ ฅ์„ ์‚ฌ์šฉํ•˜๊ณ , N ์„ ์ž…๋ ฅํ•˜๋ฉด ๋Šฅ๋ ฅ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋Šฅ๋ ฅ์ด 2 ๊ฐœ์ธ ์•”์‚ด์ž ์˜ค๋ฆฌ๋Š” ์•”์‚ด ๋Šฅ๋ ฅ ์‚ฌ์šฉ ์—ฌ๋ถ€๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ  ์•”์‚ด ๋Šฅ๋ ฅ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ๋ชจ๋‘ ๋งˆ์น˜๊ณ  ์‚ด์กฐ ๋Šฅ๋ ฅ ์‚ฌ์šฉ ์—ฌ๋ถ€๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ๋Šฅ๋ ฅ์ด ์—†๋Š” ์กฐ๋ฅ˜์˜ ์ฐจ๋ก€๋ผ๋ฉด โ€œ๋‹น์‹ ์€ ๋Šฅ๋ ฅ์ด ์—†๋Š” ์กฐ๋ฅ˜์ž…๋‹ˆ๋‹ค.โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๋‹ค์Œ ์ฐจ๋ก€๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ์กฐ์‚ฌ,์‚ด์กฐ,์•”์‚ด ๋Šฅ๋ ฅ ์‚ฌ์šฉ์‹œ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ž์‹ ์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ์—†๋Š” ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„, ์‚ฌ๋งํ•œ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.
2.1.1. ์กฐ์‚ฌ (๊ทธ๋ฆผ 7,8 ์ฐธ๊ณ )
โ€œ์กฐ์‚ฌํ•˜๊ณ  ์‹ถ์€ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”: โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์กฐ์‚ฌ ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ์กฐ์‚ฌ ๋Œ€์ƒ์ด ์ด๋ฒˆ ๋ผ์šด๋“œ์— ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ฃฝ์˜€๋‹ค๋ฉด โ€œ[์กฐ์‚ฌ ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„]์€(๋Š”) ์ด๋ฒˆ ๋ผ์šด๋“œ์— ๋ˆ„๊ตฐ๊ฐ€๋ฅผ ๋ฌด์ฐธํžˆ ์‚ดํ•ดํ•˜์˜€์Šต๋‹ˆ๋‹ค..!โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ์ด๋ฒˆ ๋ผ์šด๋“œ์— ๋‹ค๋ฅธ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ฃฝ์ด์ง€ ์•Š์•˜๋‹ค๋ฉด โ€œ[์กฐ์‚ฌ ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„]์€(๋Š”) ์ด๋ฒˆ ๋ผ์šด๋“œ์— ์•„๋ฌด๋„ ํ•ด์น˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.โ€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๊ทธ๋ฆผ 7,8 ์ฐธ๊ณ .
2.1.2. ์—ผ์Šต (๊ทธ๋ฆผ 9,10 ์ฐธ๊ณ )
์—ผ์Šต์€ ์‚ฌ๋งํ•œ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์ง€๋ชฉํ•ด์•ผํ•˜๋ฏ€๋กœ, ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ž์‹ ์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ์—†๋Š” ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„, ์ƒ์กดํ•œ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์‚ฌ๋งํ•œ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์•„๋ฌด๋„ ์—†๋‹ค๋ฉด โ€œ์—ผ์Šต ๊ฐ€๋Šฅ ๋Œ€์ƒ์ด ์—†์Šต๋‹ˆ๋‹ค.โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค. ์‚ฌ๋งํ•œ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์žˆ๋‹ค๋ฉด โ€œ์—ผ์Šตํ•˜๊ณ  ์‹ถ์€ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”: โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์—ผ์Šต ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. โ€œ[์—ผ์Šต ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„]์˜ ์—ญํ• ์€ [์—ญํ•  ์ด๋ฆ„]์ž…๋‹ˆ๋‹ค.โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค. ๊ทธ๋ฆผ 9,10,11 ์ฐธ๊ณ .
2.1.3. ์‚ด์กฐ(์˜ค๋ฆฌ)
๋ผ์šด๋“œ๋‹น ์˜ค๋ฆฌ ์ง„์˜์˜ ์‚ด์กฐ ์ œํ•œ ํšŸ์ˆ˜์— ์ด๋ฏธ ๋„๋‹ฌํ•˜์˜€๋‹ค๋ฉด, โ€œ๋ผ์šด๋“œ๋‹น ์˜ค๋ฆฌ ์ง„์˜์˜ ์‚ด์กฐ ์ œํ•œ ํšŸ์ˆ˜์— ๋„๋‹ฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค. ์ œํ•œ ํšŸ์ˆ˜์— ๋„๋‹ฌํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด โ€œ์‚ดํ•ดํ•˜๊ณ  ์‹ถ์€ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”: โ€œ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์‚ดํ•ด ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. โ€œ์ „์ฒด ๋ฉ”์‹œ์ง€: [์‚ดํ•ด ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„]์ด(๊ฐ€) ๋ฌด์ฐธํžˆ ์‚ดํ•ด๋‹นํ•˜์˜€์Šต๋‹ˆ๋‹ค..โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค.
2.1.4. ์•”์‚ด (๊ทธ๋ฆผ 11,12,13 ์ฐธ๊ณ )
ํ•ด๋‹น ์•”์‚ด์ž ์˜ค๋ฆฌ์˜ ๊ฒŒ์ž„๋‹น ์•”์‚ด ๊ฐ€๋Šฅ ํšŸ์ˆ˜์— ์ด๋ฏธ ๋„๋‹ฌํ•˜์˜€๋‹ค๋ฉด, โ€œ๋” ์ด์ƒ ์•”์‚ด ๋Šฅ๋ ฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค!โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค. ๊ฒŒ์ž„๋‹น ์•”์‚ด ๊ฐ€๋Šฅ ํšŸ์ˆ˜์— ๋„๋‹ฌํ•˜์˜€๋‹ค๋ฉด โ€œ์•”์‚ดํ•˜๊ณ  ์‹ถ์€ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”: โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์•”์‚ด ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. โ€œ์•”์‚ดํ•˜๊ณ  ์‹ถ์€ ํ”Œ๋ ˆ์ด์–ด์˜ ์—ญํ•  ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”: โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์•”์‚ด ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด์˜ ์˜ˆ์ƒ ์—ญํ•  ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ์—ญํ•  ๋ฒˆํ˜ธ๊ฐ€ ๋งž๋Š” ๊ฒฝ์šฐ โ€œ์ „์ฒด ๋ฉ”์‹œ์ง€: [์‚ดํ•ด ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„]์ด(๊ฐ€) ๋ฌด์ฐธํžˆ ์‚ดํ•ด๋‹นํ•˜์˜€์Šต๋‹ˆ๋‹ค..โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์•”์‚ด ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์‚ฌ๋ง ์ฒ˜๋ฆฌํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค. ์—ญํ•  ๋ฒˆํ˜ธ๊ฐ€ ํ‹€๋ฆด ๊ฒฝ์šฐ โ€œ์ „์ฒด ๋ฉ”์‹œ์ง€: [ํ˜„์žฌ ์ฐจ๋ก€ ์•”์‚ด์ž ์˜ค๋ฆฌ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„]์€(๋Š”) ๊ทน๋‹จ์  ์„ ํƒ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ํ˜„์žฌ ์ฐจ๋ก€์ธ ์•”์‚ด์ž ์˜ค๋ฆฌ ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์‚ฌ๋ง ์ฒ˜๋ฆฌํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค. ๊ทธ๋ฆผ 12,13,14 ์ฐธ๊ณ .
2.1.5. ์‚ด์กฐ(์†ก๊ณจ๋งค)
โ€œ์‚ดํ•ดํ•˜๊ณ  ์‹ถ์€ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”: โ€œ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์‚ดํ•ด ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. โ€œ์ „์ฒด ๋ฉ”์‹œ์ง€: [์‚ดํ•ด ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„]์ด(๊ฐ€) ๋ฌด์ฐธํžˆ ์‚ดํ•ด๋‹นํ•˜์˜€์Šต๋‹ˆ๋‹ค..โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค.

2.2. ํˆฌํ‘œ Phase
์ˆœ์„œ๋Œ€๋กœ ํˆฌํ‘œ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์—†๋Š” ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„, ์‚ฌ๋งํ•œ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.
2.2.1. ์†ก๊ณจ๋งค ์ œ์™ธ
โ€œ[ํ˜„์žฌ ์ฐจ๋ก€ ํ”Œ๋ ˆ์ด์–ด ์ด๋ฆ„]๋‹˜ ํˆฌํ‘œ๋ฅผ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? [Y/N]: โ€๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ ํˆฌํ‘œ ์ฐธ์—ฌ ์—ฌ๋ถ€๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ N ์„ ์ž…๋ ฅํ•˜๋ฉด ๋ฌดํšจํ‘œ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ , Y ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด โ€œํˆฌํ‘œํ•˜๊ณ  ์‹ถ์€ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”: โ€๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ ํˆฌํ‘œ ๋Œ€์ƒ ํ”Œ๋ ˆ์ด์–ด ์ด๋ฆ„์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
2.2.2. ์†ก๊ณจ๋งค
โ€œ[ํ˜„์žฌ ์ฐจ๋ก€ ํ”Œ๋ ˆ์ด์–ด ์ด๋ฆ„]๋‹˜์€ ์†ก๊ณจ๋งค์ด๋ฏ€๋กœ ๋ฌดํšจํ‘œ์— ์ž๋™ ํˆฌํ‘œ๋ฉ๋‹ˆ๋‹ค.โ€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
2.2.3. ์ถ”๋ฐฉ๋‹นํ•˜๋Š” ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ์—๋Š” โ€œ์ „์ฒด ๋ฉ”์‹œ์ง€: [์ถ”๋ฐฉ๋‹นํ•œ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„]์€(๋Š”) ๋” ์ข‹์€ ๊ณณ์„ ๊ฐ”์Šต๋‹ˆ๋‹ค.โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ํ•ด๋‹น ํ”Œ๋ ˆ์ด์–ด๋ฅผ ์‚ฌ๋ง ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ถ”๋ฐฉ๋‹นํ•œ ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์˜ค๋ฆฌ์ผ ๊ฒฝ์šฐ โ€œ์ „์ฒด ๋ฉ”์‹œ์ง€: ๋งŒ์„ธ [์ถ”๋ฐฉ๋‹นํ•œ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„]์€(๋Š”) ์˜ค๋ฆฌ์ž…๋‹ˆ๋‹ค!!โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ์˜ค๋ฆฌ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ โ€œ์ „์ฒด ๋ฉ”์‹œ์ง€: ๋ง™์†Œ์‚ฌ [์ถ”๋ฐฉ๋‹นํ•œ ํ”Œ๋ ˆ์ด์–ด์˜ ์ด๋ฆ„]์€(๋Š”) ์˜ค๋ฆฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค!!โ€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
2.2.4. ์ถ”๋ฐฉ๋‹นํ•˜๋Š” ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์—†์„ ๊ฒฝ์šฐ์—๋Š” โ€œ์ „์ฒด ๋ฉ”์‹œ์ง€: ์ด๋ฒˆ ํˆฌํ‘œ์—์„œ๋Š” ์•„๋ฌด ์กฐ๋ฅ˜๋„ ๋‹น์ฒจ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.โ€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

2.3. ์Šน๋ฆฌ ์กฐ๊ฑด ๋‹ฌ์„ฑ ์—ฌ๋ถ€ ํŒ๋‹จ
๋ผ์šด๋“œ ์ข…๋ฃŒ๋งˆ๋‹ค ์Šน๋ฆฌํ•œ ์ง„์˜์ด ์žˆ์„ ๊ฒฝ์šฐ ๊ฒŒ์ž„ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๊ฒŒ์ž„์„ ์ข…๋ฃŒํ•œ๋‹ค.
์Šน๋ฆฌํ•œ ์ง„์˜์ด ์—†์„ ๊ฒฝ์šฐ ๋‹ค์Œ ๋ผ์šด๋“œ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.
2.3.1. ๊ฑฐ์œ„ ์Šน๋ฆฌ: โ€œ์ „์ฒด ๋ฉ”์‹œ์ง€: ๊ฑฐ์œ„์˜ ์Šน๋ฆฌ์ž…๋‹ˆ๋‹ค!โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๊ฒŒ์ž„์„ ์ข…๋ฃŒํ•œ๋‹ค. 2.3.2. ์˜ค๋ฆฌ ์Šน๋ฆฌ: โ€œ์ „์ฒด ๋ฉ”์‹œ์ง€: ์˜ค๋ฆฌ์˜ ์Šน๋ฆฌ์ž…๋‹ˆ๋‹ค!โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๊ฒŒ์ž„์„ ์ข…๋ฃŒํ•œ๋‹ค.
2.3.3. ์†ก๊ณจ๋งค ์Šน๋ฆฌ: โ€œ์ „์ฒด ๋ฉ”์‹œ์ง€: ์†ก๊ณจ๋งค์˜ ์Šน๋ฆฌ์ž…๋‹ˆ๋‹ค!โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๊ฒŒ์ž„์„ ์ข…๋ฃŒํ•œ๋‹ค.
2.3.4. ๋„๋„์ƒˆ ์Šน๋ฆฌ: โ€œ์ „์ฒด ๋ฉ”์‹œ์ง€: ๋„๋„์ƒˆ์˜ ์Šน๋ฆฌ์ž…๋‹ˆ๋‹ค!โ€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๊ฒŒ์ž„์„ ์ข…๋ฃŒํ•œ๋‹ค.
์ถ”๊ฐ€ ์˜ˆ์‹œ
2.4. ์กฐ์‚ฌ ์˜ˆ์‹œ (๊ทธ๋ฆผ 7,8)

2.5. ์—ผ์Šต ์˜ˆ์‹œ (๊ทธ๋ฆผ 9,10)

2.6. ์•”์‚ด ์˜ˆ์‹œ

๊ทธ๋ฆผ 11 ๊ทธ๋ฆผ 12์™€ ๊ทธ๋ฆผ 13์— ๋Œ€ํ•œ ๊ฒŒ์ž„ ์„ค์ • ๋ฉ”๋‰ด ์ž…๋ ฅ

2.6.2. ์•”์‚ด์‹คํŒจ (๊ทธ๋ฆผ 11,13)

[Class ๋ฐ ๊ธฐํƒ€ ํŒŒ์ผ ์„ค๋ช…]
1. main.cpp (main ํ•จ์ˆ˜ ํŒŒ์ผ)
์ฒจ๋ถ€ํŒŒ์ผ๋กœ ์ œ๊ณต๋œ main ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ฒจ๋ถ€ํŒŒ์ผ๋กœ ์ œ๊ณต๋œ main ํ•จ์ˆ˜๋Š” ์ˆ˜์ •ํ•˜์ง€ ๋งˆ์„ธ์š”. ๋‹ค๋ฅธ ํŒŒ์ผ๋“ค์€ ๊ธฐ์กด ๋‚ด์šฉ๋“ค์„ ์ˆ˜์ • ๋ฐ ์‚ญ์ œํ•˜์…”๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.
2. Macro.h ํŒŒ์ผ
์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๋งคํฌ๋กœ๋‚˜ ์ „์—ญ ์ƒ์ˆ˜๋Š” ์ด ํŒŒ์ผ์—๋งŒ ์ •์˜ํ•ด์ฃผ์„ธ์š”. ์ „์—ญ ๋ณ€์ˆ˜๋Š” ์ด๋ฒˆ ๊ณผ์ œ์—์„œ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ณผ์ œ์—์„œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋Š” ์ตœ๋Œ€ํ•œ ์ œ์™ธํ•ด๋“œ๋ ธ์œผ๋‹ˆ ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ฝ”๋”ฉํ•˜๋Š” ์—ฐ์Šต์„ ํ•ด๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค.
3. Bird ํด๋ž˜์Šค ๋ฐ ๊ทธ์™ธ ์กฐ๋ฅ˜(์—ญํ• ) ํด๋ž˜์Šค ๊ทธ๋ฆผ 14 ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ class inheritance ๋ฅผ ์ด์šฉํ•˜์—ฌ ์กฐ๋ฅ˜ ํด๋ž˜์Šค๋“ค์„ ๊ตฌํ˜„ํ•ด๋ด…์‹œ๋‹ค. ํด๋ž˜์Šค ๋ฐ ๋ฉค๋ฒ„ ํ•จ์ˆ˜ ์„ ์–ธ์€ *.h ํŒŒ์ผ์—, ์ •์˜๋Š” *.cpp ํŒŒ์ผ์— ํ•ด์ฃผ์„ธ์š”.
3.1. Bird ํด๋ž˜์Šค abstract ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ์ตœ์†Œ ํ•œ ๊ฐœ์˜ ์ˆœ์ˆ˜ ์ถ”์ƒ ํ•จ์ˆ˜(pure virtual function)๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (ex) virtual void func() = 0;) ์ˆœ์ˆ˜ ์ถ”์ƒ ํ•จ์ˆ˜๊ฐ€ ์—†์ด ๊ตฌํ˜„๋œ ์ œ์ถœ๋ฌผ์€
0 ์ ์ž…๋‹ˆ๋‹ค.
3.2. ๊ทธ์™ธ ์กฐ๋ฅ˜(์—ญํ• ) ํด๋ž˜์Šค ๊ฐ ์—ญํ• ๋งˆ๋‹ค ๋ณ„๊ฐœ์˜ ํŒŒ์ผ๋กœ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”. class inheritance ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•ด๋ณด์„ธ์š”.

๊ทธ๋ฆผ 14 Bird ๋ฐ ์กฐ๋ฅ˜(์—ญํ• ) ํด๋ž˜์Šค ๊ด€๊ณ„๋„ ์˜ˆ์‹œ

4. GGD ํด๋ž˜์Šค ๋ฉ”๋‰ด ํ™”๋ฉด์„ ํฌํ•จํ•˜์—ฌ ๊ฒŒ์ž„์„ ์ œ์–ดํ•˜๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. main ํ•จ์ˆ˜์—์„œ ํ•˜๋‚˜์˜ Object ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ํ•จ์ˆ˜๋“ค์€ ์ œ๊ณต๋œ ํŒŒ์ผ์—์„œ ํ•จ์ˆ˜ ์„ ์–ธ๋ถ€๋ฅผ ์ˆ˜์ •ํ•˜์‹œ๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.
4.1. void GameStart()
๊ฒŒ์ž„ ์„ค์ • ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
4.2. bool IsGameOver()
ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ์ ์—์„œ ์Šน๋ฆฌํ•œ ์ง„์˜์ด ์žˆ์„ ๊ฒฝ์šฐ true ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์Šน๋ฆฌํ•œ ์ง„์˜์ด ์—†์„ ๊ฒฝ์šฐ false ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
4.3. void RoundProgress()
๊ฒŒ์ž„ ์ง„ํ–‰ ๊ธฐ๋Šฅ ์ค‘ ๋Šฅ๋ ฅ ์‚ฌ์šฉ Phase ์™€ ํˆฌํ‘œ Phase ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋‚ด์šฉ์„ ์ด ํ•จ์ˆ˜์— ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ BirdList ์™€ ์กฐ๋ฅ˜ ํด๋ž˜์Šค์— ๋‚˜๋ˆ  ๊ตฌํ˜„ํ•˜๊ณ  ๊ทธ๊ฒƒ๋“ค์„ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ๊ฒƒ์ด ์ถœ์ œ์˜๋„ ์ž…๋‹ˆ๋‹ค. GGD ํด๋ž˜์Šค์˜ ๋‹ค๋ฅธ ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋“ค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.
4.4. void PrintGameResult() ๊ฒŒ์ž„ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

5. BirdList, BirdNode ํด๋ž˜์Šค
5.1. BirdNode ๋Š” ์™„์„ฑ๋œ ํ—ค๋” ํŒŒ์ผ๊ณผ cpp ํŒŒ์ผ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜์‹œ๊ฑฐ๋‚˜ ๋ณธ์ธ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์…”์„œ ์‚ฌ์šฉํ•˜์…”๋„ ์ข‹์Šต๋‹ˆ๋‹ค.
5.2. STL ๋Œ€์‹  Linked list ์— ํ”Œ๋ ˆ์ด์–ด๋“ค์„ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•ด๋ด…์‹œ๋‹ค.

[์„ธ๋ถ€์กฐ๊ฑด]
Class inheritance ๋ฅผ ์‹ค์Šตํ•ด๋ณด๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ธ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆผ 14 ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ Report ์— class inheritance ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์„œ์ˆ ํ•ด์ฃผ์„ธ์š”.
์•„๋ž˜์˜ ์ฃผ์˜์‚ฌํ•ญ๋“ค์„ ๊ผผ๊ผผํžˆ ์ฝ์–ด๋ณด์‹œ๊ณ  ์ž˜ ์ง€์ผœ์ฃผ์„ธ์š”.
1. class inheritance ๋กœ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์€ ์กฐ๋ฅ˜ class ๋Š” 0 ์ ์ž…๋‹ˆ๋‹ค.
2. ์ „์—ญ ๋ณ€์ˆ˜๋Š” ์‚ฌ์šฉ ๊ธˆ์ง€์ž…๋‹ˆ๋‹ค. ๋งคํฌ๋กœ๋‚˜ ์ „์—ญ ์ƒ์ˆ˜๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
3. ์‚ฌ์šฉ๊ฐ€๋Šฅ ํ—ค๋” ํŒŒ์ผ: <iostream>, <string>
4. ๊ฐ ํด๋ž˜์Šค๋งˆ๋‹ค header file ๊ณผ cpp file ์„ ๋‚˜๋ˆ„์–ด ๊ตฌํ˜„ํ•˜์„ธ์š”. ํด๋ž˜์Šค๋งˆ๋‹ค ์ถ”๊ฐ€๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ์ถ”๊ฐ€ํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋Š” protected ํ˜น์€ private ์œผ๋กœ ํ•œ์ •ํ•ด์ฃผ์„ธ์š”.
5. ๋ฌธ์ œ์— ๋ช…์‹œ๋˜์–ด ์žˆ์ง€ ์•Š๋”๋ผ๋„ ๊ฐ ํด๋ž˜์Šค๋งˆ๋‹ค ์ƒ์„ฑ์ž, ์†Œ๋ฉธ์ž๋Š” ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ƒ์„ฑ์ž์˜ ๊ฒฝ์šฐ, ๋ณ„๋‹ค๋ฅธ ์–ธ๊ธ‰์ด ์—†๋‹ค๋ฉด ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์— int๋Š” 0, string์€ โ€œโ€, pointer๋Š” NULL๋กœ ์ดˆ๊ธฐํ™” ํ•ด์ฃผ์„ธ์š”.

Reviews

There are no reviews yet.

Be the first to review “CSED232 – Programming Assignment #5 (Solution)”

Your email address will not be published. Required fields are marked *