Description
Programming Assignment #2
(60 points)
์ด์ง์ (jiwan95@postech.ac.kr)
๏ฎ ์ ์ถ๋ฌผ
๏ C Code files (*.c)
๏ ํ์ฅ์ ํฌํจ ์์ค ํ์ผ๋ช
์ ํด๋น ๋ฌธ์ ๋ฒํธ๋ฅผ ๋ฐ๋ผ assn2_1.c, assn2_2.c๋ก ํ ๊ฒ
– ํ์ผ๋ช
์์์ ๋ฏธ์ค์ํ๊ฑฐ๋ ํ๋ก์ ํธ ํด๋๋ฅผ ํต์งธ๋ก ์ ์ถํ ์ ๊ฐ์
๏ ํ๋ก๊ทธ๋จ์ ์์ค ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ฝ๋๋ก ๋ฐ๋์ ์ฃผ์์ ๋ถ์ผ ๊ฒ
๏ ํจ์ ๋๋ ๋ณ์ ์ด๋ฆ ์ ํ ์, ์ด๋ ํ ์๋๋ก ์ฌ์ฉ๋๋์ง ๋ช
๋ฃํ๊ฒ ๋ํ๋ผ ์ ์๋ ๋ก ํ ๊ฒ
๏ ๋ณด๊ณ ์ ํ์ผ (assn2.docx or assn2.hwp)
๏ AssnReadMe.pdf ๋ฅผ ์ฐธ์กฐํ์ฌ ์์ฑํ ๊ฒ
๏ ํ๋ก๊ทธ๋จ ์คํ ํ๋ฉด์ ์บก์ฒํ์ฌ ๋ณด๊ณ ์์ ํฌํจ์ํค๊ณ , ๊ฐ๋จํ ์ค๋ช
ํ ๊ฒ
๏ ์์ค์ฝ๋์ ๋ณด๊ณ ์ ํ์ผ์ LMS์ผ๋ก ์ ์ถ
๏ฎ ์ฃผ์์ฌํญ
๏ ๊ฐ ๋ฌธ์ ์ ํด๋นํ๋ ์๊ตฌ์ฌํญ์ ๋ฐ๋์ ์งํฌ ๊ฒ
๏ ์ปดํ์ผ ๋๋ ์คํ์ด ์๋๋ฉด ๋ฌด์กฐ๊ฑด 0์ ์ฒ๋ฆฌ
๏ ํ๋ฃจ late์ 20%๊ฐ ๊ฐ์ ๋๋ฉฐ, 3์ผ ์ด์ ์ง๋๋ฉด ๋ฐ์ง ์์ (0์ ์ฒ๋ฆฌ)
๏ ๋ถ์ ํ์์ ๊ดํ ๊ท์ ์ POSTECH ์ ์์ปดํจํฐ๊ณตํ๋ถ ํ๋ถ์์ํ์ โPOSTECH ์ ์์ปดํจ ํฐ๊ณตํ๋ถ ๋ถ์ ํ์ ์ ์โ๋ฅผ ๋ฐ๋ฅธ๋ค. (LMS์ ๊ณผ๋ชฉ ๊ณต์ง์ฌํญ์ ์ ๋ชฉ [document about cheating]์ ์ฒจ๋ถํ์ผ์ธ disciplinary.pdf๋ฅผ ์ฐธ์กฐํ ๊ฒ.)
๏ ์ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ ๊ตฌํ์ ๋ํด์๋ ์ถ๊ฐ ์ ์ ์์
๏ฎ Problem 1: ํ๋ฐฑ ๊ณต ๊ฒ์ (40์ )
(๋ชฉ์ )
์ด๋ฒ ๊ณผ์ ๋ ๋๋ค ํจ์ ์ฌ์ฉ๊ณผ ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ ์ฌ์ฉ์ ์ตํ๊ณ ์ ํ๋ค. ๋ํ ์ฌ์ฉ์ ์ ์ ํจ์๋ค์ ์์ฑํ์ฌ ์ฝ๋์ ์ฌ์ฌ์ฉ์ ๋์ด๋ ์ฐ์ต์ ํ๋ค.
(์ฃผ์์ฌํญ)
๏ฌ ํจ์๋ฅผ ์ ์ํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ตํ๋ ๋ฌธ์ ์ด๋ฏ๋ก main ํจ์์ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ๊ฒฝ์ฐ 0์ ์ฒ๋ฆฌํจ.
๏ฌ ๊ณผ์ ์์ ์๊ตฌํ๋ ์ฌ์ฉ์ ์ ์ ํจ์๋ค์ ํ๋ผ๋ฏธํฐ ๊ฐ์ ๋๋ ํ๋ผ๋ฏธํฐ ์๋ฃํ, ํจ์ ์ด๋ฆ, ๋ฆฌํด ์๋ฃํ ๋ฑ ์์ ๋กญ๊ฒ ๋ณ๊ฒฝ ๊ฐ๋ฅํจ. ๊ทธ๋ฌ๋ ๋์ผํ ๊ธฐ๋ฅ์ ํ๋ ํจ์๋ ๋ฐ๋์ ์์ด์ผ ํ๋ฉฐ, ๋ณ๊ฒฝ ์ ๋ฌด์์ ์ด๋ป๊ฒ ๋ณ๊ฒฝํด์ ๊ตฌํํ๋์ง ๋ณด๊ณ ์์ ํฌํจํ๋๋ก ํ๋ค. ์ด ์ด์ธ์ ํ์ํ๋ค๋ฉด ๋ค๋ฅธ ํจ์๋ค๋ก ๋ ๋๋๊ฑฐ๋ ์ถ๊ฐ ๊ฐ๋ฅํจ.
๏ฌ ์ ์ญ ๋ณ์, ๋ฐฐ์ด ๋ฐ goto ๋ฌธ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ฌ์ฉ ์ 0์ ์ฒ๋ฆฌํจ.
๏ฌ ๋ฌธ์ ์ ์ถ๋ ฅ ํ์์ ์คํ ์์์ ๋์ผํ๊ฒ ์์ฑ ๋ฐ๋.
0. ๊ฒ์ ์ค๋ช
์ด ๊ฒ์์ ๋ ๋ช
์ ํ๋ ์ด์ด๊ฐ ๊ฐ์์๊ฒ ์ฃผ์ด์ง 15๊ฐ์ ํฐ์ ๊ณต์ ๊ฒ์์ ๊ณต์ผ๋ก ๋ฐ๊พธ์ด ๊ฐ๋ ๊ฒ์์ด๋ค. ์ข
๋ฃ ์์ ์ ๊ฒ์ ๊ณต์ ์๊ฐ ๋ ๋ง์ ํ๋ ์ด์ด๊ฐ ์น๋ฆฌํ๋ฉฐ, ๊ฒ์์ด ์งํ๋๋ ๋์ ํ๋ ์ด์ด๋ค์ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ์์ ์ ํด์ ์งํํ๋ค. ํ ํ๋ ์ด์ด๊ฐ ์ข
๋ฃ๋ฅผ ์ ์ธํ๋ฉด ๋ค๋ฅธ ํ๋ ์ด์ด๋ ์๋์ผ๋ก ์์ ์ ํด ํ ๋ฒ์ ์งํํ๊ฒ ๋๋ฉฐ, ์ต๋ ์ธ ๋ฒ๊น์ง ์ถ๊ฐ๋ก ์งํํ ์ ์๋ค. ๋งค ํด๋ง๋ค ํ๋ ์ด์ด๋ 1๋ถํฐ 5๊น์ง์ ๋๋คํ ๊ฐ์ผ๋ก ํฐ์ ๊ณต์ ๊ฒ์์ ๊ณต์ผ๋ก ๋ฐ๊ฟ ์ ์๋ค. ๋ง์ฝ ๊ฒ์์ ๊ณต์ด 15๊ฐ๋ฅผ ์ด๊ณผํ ๊ฒฝ์ฐ, ์ด๊ณผํ ์๋งํผ์ ๊ฒ์์ ๊ณต๋ง ๊ฐ๋๋ค. ์๋ฅผ ๋ค์ด, ํ ํ๋ ์ด์ด๊ฐ 13๊ฐ์ ๊ฒ์์ ๊ณต์ ๊ฐ๊ณ ์์ผ๋ฉฐ, ์ด ์ํ์์ 1๊ณผ 2์ ์๋ฅผ ๊ธฐ๋ํ๋ฉฐ ํด์ ์งํํ๋ค. ์ด๋ 2 ์ด๊ณผ์ ์์ธ 4๊ฐ ๋์จ๋ค๋ฉด ํด๋น ํ๋ ์ด์ด๋ 2๊ฐ์ ๊ฒ์์ ๊ณต๊ณผ 13๊ฐ์ ํฐ์ ๊ณต์ ๊ฐ๊ฒ ๋๋ค.
1. ํ๋ก๊ทธ๋จ ์ด๊ธฐ ํ๋ฉด
ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด, ์๋ ์คํ ์์์ ๊ฐ์ด ๊ฐ ํ๋ ์ด์ด์๊ฒ ์ฃผ์ด์ง 15๊ฐ์ ํฐ์ ๊ณต์ด ์ถ๋ ฅ๋๋ฉฐ ํ๋ ์ด์ด์ ์
๋ ฅ์ ๊ธฐ๋ค๋ฆฐ๋ค.
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)]
2. ํ๋ ์ด์ด ์
๋ ฅ
ํ๋ ์ด์ด๋ ๋งค ํด๋ง๋ค ์
๋ ฅ ๊ฐ์ ์ ๊ณตํ๋ฉฐ, ์ ํจํ ์
๋ ฅ ๊ฐ์ 3, -1, -2 ๊ฐ ์๋ค. ์ ํจํ ์
๋ ฅ ๊ฐ์ด ๋ค์ด์ฌ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ์๋๋ฆฌ์ค๋ก ๊ฒ์์ด ์งํ๋๋ค.
A. ๊ฒ์ ๊ณ์ ์งํ (์
๋ ฅ ๊ฐ 3) ํ๋ ์ด์ด 1๊ณผ ํ๋ ์ด์ด 2๊ฐ ๋๋ค ๊ฒ์ ์งํ์ ์ํ๋ฉด ์
๋ ฅ ๊ฐ์ผ๋ก 3์ ์
๋ ฅํ๋ค. ์ด ๊ฒฝ์ฐ ํ๋ ์ด์ด 1๊ณผ 2๊ฐ ์์๋๋ก ๊ฒ์์ ๊ณต์ ๋ฐ๊ฒ ๋๋ค. ๊ฒ์์ ๊ณต์ ์๋ ์ปดํจํฐ๊ฐ 1๊ฐ๋ถํฐ 5๊ฐ ๊น์ง๋ฅผ ๋๋คํ๊ฒ ์ ํํ์ฌ ์ ๊ณตํ๋ค.
๋ค์์ ์
๋ ฅ ๊ฐ 3์ ์์์ด๋ค (์ฌ์ฉ์ ์
๋ ฅ ๊ฐ ๋นจ๊ฐ์ ๋ฐ์ค ํ์). ํ๋ ์ด์ด 1์ด ๋จผ์ 4๊ฐ์ ํฐ์ ๊ณต์ ๊ฒ์์ ๊ณต์ผ๋ก ๋ฐ๊พธ์์ผ๋ฉฐ, ์ดํ ํ๋ ์ด์ด 2๊ฐ ํฐ์ ๊ณต 2๊ฐ๋ฅผ ๊ฒ์์์ผ๋ก ๋ฐ๊พธ์๋ค. ์ด๋ 2์ 4๋ ์ปดํจํฐ๋ก๋ถํฐ ๋๋คํ๊ฒ ๋ฐ์ ๊ฐ์ด๋ค.
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] 3
AFTER P1
P1 โโโโโโโโโโโโโโโ ํ๋ ์ด์ด 1์ ๊ฒ์ ์งํ P2 โโโโโโโโโโโโโโโ
AFTER P2
P1 โโโโโโโโโโโโโโโ ํ๋ ์ด์ด 2์ ๊ฒ์ ์งํ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)]
์
๋ ฅ ๊ฐ 3 ์์: ๊ฒ์ ์งํ
๊ฒ์ ์งํ ์ค ๊ฒ์์ ๊ณต์ด 15๊ฐ๋ฅผ ์ด๊ณผํ ๊ฒฝ์ฐ, ์ด๊ณผํ ์๋งํผ์ ๊ฒ์์ ๊ณต๋ง ๊ฐ๋๋ค. ๋ค์ ์์์์ ๋ ํ๋ ์ด์ด ๋ชจ๋ ๊ฒ์์ ๊ณต์ด 12๊ฐ์ธ ์ํ์์ 3์ ์ ๋ ฅํ์ฌ ๊ฒ์์ ์งํํ๋ค. ํ๋ ์ด์ด 1์ ๊ฒฝ์ฐ ๊ฒ์์ ๊ณต 2๊ฐ๋ฅผ ๋ ๋ฐ์ 14๊ฐ๊ฐ ๋์์ผ๋, ํ๋ ์ด์ด 2์ ๊ฒฝ์ฐ 5๊ฐ๋ฅผ ๋ ๋ฐ๊ฒ ๋์ด ๊ฒ์์ ๊ณต ์๊ฐ 15๊ฐ๋ฅผ ์ด๊ณผํ๊ฒ ๋์๋ค. ์ด ๊ฒฝ์ฐ, ๊ฒ์ ๊ท์น์ ๋ฐ๋ผ ํ๋ ์ด์ด 2๋ ์ด๊ณผํ ์๋งํผ์ ๊ฒ์์ ๊ณต 2๊ฐ๋ง ๊ฐ๊ฒ ๋จ์ ๋ณผ ์ ์๋ค.
AFTER P2
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] 3
AFTER P1
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
AFTER P2
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)]
15๊ฐ ์ด๊ณผ ์์
๋ค์์ ๊ณผ์ ์์ ์๊ตฌํ๋ ํจ์๋ค์ด๋ค. ๋์ผํ ๊ธฐ๋ฅ์ ํ๋ ํจ์๋ ๋ฐ๋์ ์์ด์ผ ํ๋ฉฐ, ๋ณ๊ฒฝ ์ ๋ณด๊ณ ์์ ์ค๋ช ์ ์ถ๊ฐํ๋๋ก ํ๋ค (์ฃผ์์ฌํญ ์ฐธ๊ณ ).
๏ฌ ํ๋ ์ด์ด๋ก๋ถํฐ ์ ๋ ฅ ๊ฐ์ ๋ฐ์ ๊ทธ ๊ฐ์ ๋ฐํํ๋ ํจ์๋ก, ์ ๋ ฅ์ ์๊ตฌํ๋ ์ถ๋ ฅ ๋ฌธ๊ตฌ๋ฅผ ํฌํจํ์ฌ ๊ตฌํํ๋ค. int getResponse()
๏ฌ ํ๋ ์ด์ด๊ฐ ๋๋คํ ๊ฐ์ ๊ฒ์์ ๊ณต์ ๋ฐ๋๋ฐ ์ฌ์ฉํ๋ ํจ์์ด๋ค. ๋๋คํ ๊ฐ์ ๋ฒ์๋ฅผ ์ง์ ํ ์ ์๋๋ก ์์๊ณผ ๋์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ๋ฐ๋๋ค. ์ด ๊ฐ์ ๋งค ์คํ๋ง๋ค ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ ธ ์์ธก ๋ถ๊ฐ๋ฅํด์ผ ํ๋ค.
int getRandomBalls(int start, int end)
๏ฌ ํ๋ ์ด์ด์ ๊ฒ์์ ๊ณต ๋ณด์ ์๋ฅผ ๊ณ์ฐํ์ฌ ๋ฐํํ๋ ํจ์์ด๋ค. ํ์ฌ ๊ฐ๊ณ ์๋ ๊ฒ์์ ๊ณต ์์ ์ถ๊ฐ๋๋ ๊ฒ์์ ๊ณต ์๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ๋ฐ์, 15๊ฐ๊ฐ ๋์ง ์๋๋ก ๊ฒ์์ ๊ณต ์๋ฅผ ๋ฐํํ๋ค.
int changeBallStatus(int current, int plus)
๏ฌ ํ๋ ์ด์ด์ ํ๋ฐฑ ๊ณต ๋ณด์ ์ํ ์ถ๋ ฅ์ ์ํ ํจ์๋ก, ๊ฒ์์ ๊ณต์ ์๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ๋ฐ์ ํ๋ฉด์ ์ถ๋ ฅํ๋ค. ํฐ์ ๊ณต์ โ, ๊ฒ์์ ๊ณต์ โ์ ์ด์ฉํ์ฌ ์ถ๋ ฅํ๋ค (๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ). void printCurrentBallStatus(int num)
๏ฌ ๋ค์ ๋ ํจ์๋ค์ ๊ฐ ํ๋ ์ด์ด์ ๊ฒ์์ ์งํํ๋ค. ํ๋ ์ด์ด 1๊ณผ 2์ ๊ฒ์์ ๊ณต ๊ฐ์๋ฅผ ์ ๋ฌ๋ฐ์, ๊ฐ ํจ์๋ง๋ค ํด๋นํ๋ ํ๋ ์ด์ด์ ๋ณ๊ฒฝ๋ ๊ฒ์์ ๊ณต์ ์๋ฅผ ๋ฐํํ๋ค. (์
๋ ฅ ๊ฐ 3 ์์ ์ฐธ๊ณ )
int movePlayer1(int player1, int player2) int movePlayer2(int player1, int player2)
B. ๊ฒ์ ์ข
๋ฃ ์ ์ธ (์
๋ ฅ ๊ฐ -1, -2) ์
๋ ฅ ๊ฐ -1๊ณผ -2๋ ํด๋น ํ๋ ์ด์ด ๋ฒํธ์ ๊ฒ์ ์ข
๋ฃ ์ ์ธ์ ์๋ฏธํ๋ค. ๋ ์ค์ ํ ํ๋ ์ด์ด๊ฐ ๊ฒ์ ์ข
๋ฃ ์ ์ธ์ ํ๋ฉด, ์๋ ํ๋ ์ด์ด๋ ๊ฒ์์ ์ง์ํ ์ง ๋ง์ง๋ฅผ ๊ฒฐ์ ํ๋ฉฐ ์ต๋ ์ธ ๋ฒ๊น์ง ๋ณธ์ธ์ ํด์ ์ถ๊ฐ๋ก ์งํํ ์ ์๋ค.
๋ค์์ ์
๋ ฅ ๊ฐ -1์ ์์์ด๋ค (์ฌ์ฉ์ ์
๋ ฅ ๊ฐ ๋นจ๊ฐ์ ๋ฐ์ค ํ์). ์
๋ ฅ ๊ฐ -1์ ํ๋ ์ด์ด 1์ ์ข
๋ฃ ์ ์ธ์ ์๋ฏธํ๋ฉฐ, ํ๋ ์ด์ด 2๊ฐ ์๋์ผ๋ก ๋ณธ์ธ์ ํด์ ํ ๋ฒ ์งํํ๋ค. ์ดํ ํ๋ ์ด์ด 2๋ -2๋ฅผ ์
๋ ฅํ์ฌ ๊ฒ์ ์ข
๋ฃ๋ฅผ ์ ์ธํ์๋ค. ๋ ํ๋ ์ด์ด ๋ชจ๋๊ฐ ์ข
๋ฃ๋ฅผ ์ ์ธํ์์ผ๋ฏ๋ก ์นํจ ์ถ๋ ฅ๋ฌธ๊ณผ ํจ๊ป ๊ฒ์์ ์ข
๋ฃ๋๋ค.
AFTER P2
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] -1
AFTER P2
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] -2
WIN P1, P1 14, P2 4
์
๋ ฅ ๊ฐ -1 ์์
๋ค์์ ์ ๋ ฅ ๊ฐ -2์ ์์์ด๋ค (์ฌ์ฉ์ ์ ๋ ฅ ๊ฐ ๋นจ๊ฐ์ ๋ฐ์ค ํ์). ์ ๋ ฅ ๊ฐ -2๋ ํ๋ ์ด์ด 2์ ์ข ๋ฃ ์ ์ธ์ ์๋ฏธํ๋ฉฐ, ํ๋ ์ด์ด 1์ด ์๋์ผ๋ก ๋ณธ์ธ์ ํด ํ ๋ฒ์ ์งํํ๋ค. ์ด ์์๋ ์ต๋ ์ธ ๋ฒ๊น์ง์ธ ๋ณธ์ธ์ ์ถ๊ฐ ํด๋ค์ ๋ชจ๋ ์งํํ ๊ฒฝ์ฐ์ด๋ฉฐ, ์นํจ ์ถ๋ ฅ๋ฌธ๊ณผ ๊ฐ์ด ํ๋ก๊ทธ๋จ์ ์ข ๋ฃ๋๋ค.
AFTER P2
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] -2
AFTER P1
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] 3
AFTER P1
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] 3
AFTER P1
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
WIN P2, P1 12, P2 13
์
๋ ฅ ๊ฐ -2 ์์
C. ์ ํจํ์ง ์์ ์
๋ ฅ
3, -1, -2 ์ด์ธ์ ์
๋ ฅ ๊ฐ๋ค์ ์ ํจํ์ง ์๋ค. ์ ํจํ์ง ์์ ์
๋ ฅ์ ๋ฐ์ ๊ฒฝ์ฐ, ์
๋ ฅ ๋ฐ์ ๊ฐ์ด ์ ํจํ์ง ์๋ค๋ ๋ฌธ๊ตฌ๊ฐ ์ถ๋ ฅ๋๋ฉฐ ํ๋ก๊ทธ๋จ์ ์ข
๋ฃ๋๋ค. ์ด์ธ์ ํ๋ ์ด์ด ์ข
๋ฃ ์ ์ธ์ด ์ค์ฒฉ๋ ๊ฒฝ์ฐ ์
๋ ฅ ๊ฐ์ด ์ ํจํ์ง ์์ ๊ฒฝ์ฐ๋ก ์ฒ๋ฆฌํ๋ค. ์ด ๋ฌธ์ ์์๋ ํ๋ ์ด์ด ์
๋ ฅ์ผ๋ก ์ ์ ์ธ ์
๋ ฅ์ ๊ณ ๋ คํ์ง ์์ผ๋ฏ๋ก ์์ธ ์ฒ๋ฆฌ๋ฅผ ๊ตฌํํ ํ์๋ ์๋ค.
๋ค์ ์์๋ค์ ๊ฐ๊ฐ ์ ํจํ์ง ์์ ์
๋ ฅ์ด ๋ค์ด์จ ๊ฒฝ์ฐ์ ์ค๋ณต๋ ์ข
๋ฃ ์ ์ธ์ ๊ฒฝ์ฐ๋ฅผ ๋ณด์ฌ์ค๋ค (์ฌ์ฉ์ ์
๋ ฅ ๊ฐ ๋นจ๊ฐ์ ๋ฐ์ค ํ์).
AFTER P2
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] 0 0 IS NOT VALID RESPONSE
WIN P2, P1 2, P2 5
3, -1, -2 ์ด์ธ์ ์
๋ ฅ ์์
AFTER P2
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] -1
AFTER P2
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] -1 -1 IS NOT VALID RESPONSE
WIN P2, P1 2, P2 13
์ค๋ณต๋ ์ข
๋ฃ ์ ์ธ ์์
๋ค์์ ๊ณผ์ ์์ ์๊ตฌํ๋ ํจ์์ด๋ค. ๋์ผํ ๊ธฐ๋ฅ์ ํ๋ ํจ์๋ ๋ฐ๋์ ์์ด์ผ ํ๋ฉฐ, ๋ณ๊ฒฝ ์ ๋ณด๊ณ ์์ ์ค๋ช ์ ์ถ๊ฐํ๋๋ก ํ๋ค (์ฃผ์์ฌํญ ์ฐธ๊ณ ).
๏ฌ ํ์ฌ ์
๋ ฅ ๊ฐ์ด ์ ํจํ์ง ํ์ธํ๋ ํจ์๋ก, ํ์ฌ ์
๋ ฅ ๊ฐ๊ณผ ์ด์ ์
๋ ฅ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ๋๋ค. ์ด์ ์
๋ ฅ ๊ฐ์ ์ข
๋ฃ ์ ์ธ์ด ์ค๋ณต๋์๋์ง ํ์ธํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ฉฐ, ์ด ๋ณ์๋ ์ง์ ์
๋ ฅ ๊ฐ์ ์๋ฏธํ์ง ์๋๋ค. ํ์ฌ ์
๋ ฅ ๊ฐ์ด ์ ํจํ๋ค๋ฉด ์ฐธ์ ๋ํ๋ด๋ 1์, ์ ํจํ์ง ์๋ค๋ฉด ๊ฑฐ์ง์ ๋ํ๋ด๋ 0์ ๋ฐํํ๋ค.
int isResponseValid(int response, int prevResponse)
3. ์นํจ ๊ฒฐ์
๊ฒ์์ ์นํจ ์ถ๋ ฅ๋ฌธ๊ณผ ํจ๊ป ์ข
๋ฃํ๋ค. ์ข
๋ฃ ์์ ๋ ๋ ํ๋ ์ด์ด๋ค ์ค ๊ฒ์์ ๊ณต ์๊ฐ ๋ง์ ํ๋ ์ด์ด๊ฐ ์น๋ฆฌํ๋ฉฐ, ๊ฐ์ ๊ฒฝ์ฐ ๋ฌด์น๋ถ๊ฐ ๋๋ค. ๋ค์์ ์ธ ๊ฐ์ง ๊ฒฝ์ฐ์ ์นํจ ์ถ๋ ฅ๋ฌธ์ ๋ณด์ฌ์ฃผ๋ ์์๋ค์ด๋ค.
AFTER P2
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] -1
AFTER P2
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] -2
WIN P1, P1 14, P2 13
๊ฒ์ ์ข
๋ฃ ์์: ํ๋ ์ด์ด 1 ์ฐ์น
AFTER P2
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] -2
WIN P2, P1 13, P2 14
๊ฒ์ ์ข
๋ฃ ์์: ํ๋ ์ด์ด 2 ์ฐ์น
AFTER P2
P1 โโโโโโโโโโโโโโโ
P2 โโโโโโโโโโโโโโโ
PROCEED OR NOT? ENTER ANSWER WITH [GO 3, END โPLAYER NUM(-1 OR -2)] 0 0 IS NOT VALID RESPONSE
DRAW, P1 14, P2 14
๊ฒ์ ์ข
๋ฃ ์์: ๋ฌด์น๋ถ
๋ค์์ ๊ณผ์ ์์ ์๊ตฌํ๋ ํจ์๋ค์ด๋ค. ๋์ผํ ๊ธฐ๋ฅ์ ํ๋ ํจ์๋ ๋ฐ๋์ ์์ด์ผ ํ๋ฉฐ, ๋ณ๊ฒฝ ์ ๋ณด๊ณ ์์ ์ค๋ช ์ ์ถ๊ฐํ๋๋ก ํ๋ค (์ฃผ์์ฌํญ ์ฐธ๊ณ ).
๏ฌ ๋ ํ๋ ์ด์ด๋ค์ ๊ฒ์ ์นํจ๋ฅผ ํ๋จํ์ฌ ๊ทธ ์นํจ๋ฅผ ํ๋จํ๋ ํจ์์ด๋ค. ๋ ํ๋ ์ด์ด์ ๊ฒ์์ ๊ณต ์๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ๋ฐ์ ์น๋ฆฌํ ํ๋ ์ด์ด์ ๋ฒํธ ๋๋ ๋ฌด์น๋ถ๋ฅผ ์๋ฏธํ๋ 0์ ๋ฐํํ๋ค. int calcWinner(int player1, int player2)
๏ฌ ๊ฒ์์ ์นํจ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์ถ๋ ฅ ๋ฌธ๊ตฌ๋ฅผ ๋ฌ๋ฆฌํ์ฌ ์ถ๋ ฅํ๋ ํจ์์ด๋ค. ์นํจ ๊ฒฐ๊ณผ๋ ํจ์ ๋ด์์ calcWinner() ํจ์๋ฅผ ํธ์ถํ์ฌ ์ป๋๋ค. ์ถ๋ ฅ๋ฌธ์ ์นํจ ๊ฒฐ๊ณผ, ํ๋ ์ด์ด 1์ ๊ฒ์์ ๊ณต์ ์, ํ๋ ์ด์ด 2์ ๊ฒ์์ ๊ณต์ ์ ์์ผ๋ก ์ถ๋ ฅํ๋ฉฐ, ์ ์์์ ๋์ผํ๊ฒ ์์ฑํ๋ค. void printWinner(int player1, int player2)
๏ฎ Problem 2: ๋ณผ๋ง ์ ์ ๊ณ์ฐ (20์ )
(๋ชฉ์ ) ์ด๋ฒ ๊ณผ์ ๋ ๋ฌธ์ ์ดํด๋ฅผ ๋ฐํ์ผ๋ก ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ, ์ฌ์ฉ์ ์ ์ ํจ์ ์ฌ์ฉ์ ๋ชฉ์ ์ผ๋ก ํ๋ค.
(์ฃผ์์ฌํญ)
๏ฌ ํจ์๋ฅผ ์ ์ํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ตํ๋ ๋ฌธ์ ์ด๋ฏ๋ก main ํจ์์ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ๊ฒฝ์ฐ 0์ ์ฒ๋ฆฌํจ.
๏ฌ ๊ณผ์ ์์ ์๊ตฌํ๋ ์ฌ์ฉ์ ์ ์ ํจ์๋ ํ๋ผ๋ฏธํฐ ๊ฐ์ ๋๋ ํ๋ผ๋ฏธํฐ ์๋ฃํ, ํจ์ ์ด๋ฆ, ๋ฆฌํด ์๋ฃํ ๋ฑ ์์ ๋กญ๊ฒ ๋ณ๊ฒฝ ๊ฐ๋ฅํจ. ๊ทธ๋ฌ๋ ๋์ผํ ๊ธฐ๋ฅ์ ํ๋ ํจ์๋ ๋ฐ๋์ ์์ด์ผ ํ๋ฉฐ, ๋ณ๊ฒฝ ์ ๋ฌด์์ ์ด๋ป๊ฒ ๋ณ๊ฒฝํด์ ๊ตฌํํ๋์ง ๋ณด๊ณ ์์ ํฌํจํ๋๋ก ํ๋ค.
๏ฌ ์ด๋ฒ ๋ฌธ์ ์์๋ ์๊ตฌํ๋ ์ฌ์ฉ์ ์ ์ ํจ์๊ฐ ํ๋์ด๋ฏ๋ก, ์ฌ์ฉ์ ์ ์ ํจ์ ๋ ๊ฐ๋ฅผ ๋ ์ถ๊ฐํ๋๋ก ํ๋ค. ์ ์ค๋ช
๊ณผ ๋์ผํ๊ฒ ์ถ๊ฐํ๊ณ ์ ํ๋ ํจ์๋ค์ ์ด๋ฆ, ๊ธฐ๋ฅ ๋ฑ์ ์์ ๋กญ๊ฒ ๊ตฌํํ๋ค.
๏ฌ ์ ์ญ ๋ณ์, ๋ฐฐ์ด ๋ฐ goto ๋ฌธ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ฌ์ฉ ์ 0์ ์ฒ๋ฆฌํจ.
๏ฌ ์
๋ ฅ ๊ฐ์ ํ์ผ๋ก๋ถํฐ ์ฝ์ด์์ผ ํ๋ฉฐ, ์ฌ์ฉ์๋ก๋ถํฐ ์
๋ ฅ ๋ฐ์ ๊ฒฝ์ฐ ๊ฐ์ ์ฒ๋ฆฌํจ.
๏ฌ ๋ฌธ์ ์ ์ถ๋ ฅ ํ์์ ์คํ ์์์ ๋์ผํ๊ฒ ์์ฑ ๋ฐ๋.
0. ๊ท์น ์ค๋ช
๋ณผ๋ง ๊ฒ์ ์ ์ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค. ๋ณผ๋ง ๊ฒ์์ ๊ฒฐ๊ณผ๋ ์ฌ์ ์ ์์ฑ๋ ํ์ผ๋ก๋ถํฐ ์ฝ์ด์์ผ ํ๋ฉฐ, ๊ธฐํธ์ ์ซ์๋ฅผ ํด์ํ์ฌ ์ ์ ๊ณ์ฐ์ ํ๋ค. ์ ์ ๊ณ์ฐ ๊ท์น์ ๋ค์๊ณผ ๊ฐ๋ค.
1. ํ ๊ฒ์์ ์ด 10๊ฐ์ ํ๋ ์์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
2. ๊ฐ ํ๋ ์๋ง๋ค ๋ณผ๋ง ํ 10๊ฐ๋ฅผ ์ฐ๋ฌํธ๋ฆฌ๋ ๊ฒ์์ด๋ฉฐ ๋ณผ๋ง ํ 1๊ฐ๋น 1์ ์ด๋ค.
3. ๊ฐ ํ๋ ์์ ๋ ๋ฒ์ ์๋๋ฅผ ํ ์ ์๋ค.
A. ๋ณผ๋ง ํ 10๊ฐ๋ฅผ ์ฒซ ๋ฒ์งธ ์๋๋ก ๋ชจ๋ ์ฐ๋ฌํธ๋ฆด ๊ฒฝ์ฐ ์คํธ๋ผ์ดํฌ(S)๋ผ ํ๋ค. ์ด ๊ฒฝ์ฐ ๋ ๋ฒ์งธ ์๋๋ ์ฌ๋ผ์ง๋ค. ๋จ, ๋ง์ง๋ง ํ๋ ์์์๋ ์คํธ๋ผ์ดํฌ๋ฅผ ์น๋๋ผ๋ ์ฌ๋ผ์ง์ง ์์ผ๋ฉฐ, ๊ฒฐ๊ณผ์ ์ผ๋ก ํด๋น ํ๋ ์์์๋ ์ธ ๋ฒ์ ๊ธฐํ๊ฐ ์ฃผ์ด์ง๋ค.
B. ๋ณผ๋ง ํ 10๊ฐ๋ฅผ ๋ ๋ฒ์ ์๋๋ก ๋ชจ๋ ์ฐ๋ฌํธ๋ฆด ๊ฒฝ์ฐ ์คํ์ด(P)๋ผ ํ๋ค. ๋ง์ง๋ง ํ๋ ์์์ ์คํ์ด๋ฅผ ์น ๊ฒฝ์ฐ ํ ๋ฒ์ ์๋๊ฐ ์ถ๊ฐ์ ์ผ๋ก ์ฃผ์ด์ง๋ฉฐ, ๊ฒฐ๊ณผ์ ์ผ๋ก ํด๋น ํ๋ ์์์๋ ์ธ ๋ฒ์ ๊ธฐํ๊ฐ ์ฃผ์ด์ง๋ค.
4. ๋ค์์ ๊ฒฝ์ฐ์๋ ์ถ๊ฐ ์ ์๋ฅผ ๋ฐ์ ์ ์๋ค.
A. ์คํธ๋ผ์ดํฌ๋ฅผ ์น๋ฉด ๊ทธ ๋ค์ ๋ ๋ฒ์ ์๋ ๋์ ์ฐ๋ฌํธ๋ฆฐ ๋ณผ๋ง ํ๋ค์ ๊ฐ์๋งํผ ์ถ๊ฐ ์ ์๋ฅผ ๋ฐ๋๋ค.
B. ์คํ์ด๋ฅผ ์น๋ฉด ๊ทธ ๋ค์ ์๋ ๋ ์ฐ๋ฌํธ๋ฆฐ ๋ณผ๋ง ํ์ ๊ฐ์๋งํผ ์ถ๊ฐ ์ ์๋ฅผ ๋ฐ๋๋ค.
C. ๋ง์ง๋ง ํ๋ ์์์๋ ์คํธ๋ผ์ดํฌ, ์คํ์ด ์๊ด์์ด ์ถ๊ฐ ์ ์๋ฅผ ๋ฐ์ ์ ์๋ค.
๋ค์์ ์ ์ ๊ณ์ฐ ์์์ด๋ค. ์ ์ํ์ ์คํธ๋ผ์ดํฌ๋ S, ์คํ์ด๋ P, ํ์ ํ๋๋ ๋ชป ์ฐ๋ฌํธ๋ฆฐ ๊ฒฝ์ฐ๋ โ์ผ๋ก ํ์๋๋ค. ๋ง์ง๋ง ํ๋ ์์ ์ ์ธํ ๋ชจ๋ ํ๋ ์์ ๋ ์๋์ ๊ฒฐ๊ณผ ๊ฐ์ผ๋ก ๋ํ๋ผ ์ ์์ผ๋ฉฐ, ๋ง์ง๋ง ํ๋ ์์ ์คํ์ด๋ ์คํธ๋ผ์ดํฌ๊ฐ ์์ ๊ฒฝ์ฐ ์ธ ๋ฒ์ ์๋ ๊ฐ์ผ๋ก ๊ธฐ์ ๋๋ค. ํ๋ด ์ฌ์ ํ์๋ ์ฒซ ์๋๋ก ์คํธ๋ผ์ดํฌ๋ฅผ ์น ๊ฒฝ์ฐ ๋ค์ ์๋๋ ์ฌ๋ผ์ง์ ์๋ฏธํ๋ค. ์ ์ ๊ณ์ฐ ์์์ ํ๋ ์๋ณ ์ ์๋ ๊ฒ์์ ๊ฒฐ๊ณผ๋ก์จ ์ฃผ์ด์ง๋ ๊ฐ์ด๋ฉฐ, ์ด๋ฒ ๊ณผ์ ๋ ๊ฒ์ ๊ฒฐ๊ณผ์ ์ ์ ๊ณ์ฐ์ ๋ชฉํ๋ก ํ๋ค. (ํ๋์ ํ์)
๋ค์์ ์ ์ ๊ณ์ฐ ์์์ ํ๋ ์๋ณ ๊ณ์ฐ ๊ณผ์ ์ ๋ํ๋ธ๋ค. ๊ธฐ๋ณธ ์ ์๋ ์ถ๊ฐ ์ ์๋ฅผ ๊ณ ๋ คํ์ง ์์ ์ ์๋ก, ์ฐ๋ฌํธ๋ฆฐ ๋ณผ๋ง ํ์ ๊ฐ์์ด๋ค. ํ๋ ์ ๋ด ๊ฐ ์๋๋ณ ์ ์๋ฅผ ์ ์ ๊ฐ์ผ๋ก ํด์ํ ๊ฐ๋ค๋ก ๊ณ์ฐ ๊ฐ๋ฅํ๋ค. ๊ฐ ํ๋ ์๋ง๋ค ์คํ์ด ๋๋ ์คํธ๋ผ์ดํฌ๋ฅผ ์น ๊ฒฝ์ฐ, ๊ธฐ๋ณธ ์ ์๋ ์ต๋ ๊ฐ์ธ 10์ ๊ฐ๋๋ค (๋ง์ง๋ง ํ๋ ์ ์ ์ธ). ์ถ๊ฐ ์ ์๋ ๊ท์น์ ๋ฐ๋ผ ํ๋ ์ ๋ด ๊ฒฐ๊ณผ ๊ฐ๋ค์ ์คํ์ด๋ ์คํธ๋ผ์ดํฌ๊ฐ ์์ ๊ฒฝ์ฐ ๊ณ์ฐํ๋ค. ํ๋ ์ 1. ๊ธฐ๋ณธ ์ ์๋ 8 + 1 = 9์ด๋ค.
ํ๋ ์ 2. ๊ธฐ๋ณธ ์ ์๋ 7 + 3 = 10์ด๋ค. ์คํ์ด๋ฅผ ์น ๊ฒฝ์ฐ, ๋ค์ ํ๋ ์์ ์ฒซ ๋ฒ์งธ ์๋ ๊ฐ์ธ 9๋งํผ ์ถ๊ฐ ์ ์๋ฅผ ๋ฐ๋๋ค. ๋ฐ๋ผ์ ํ๋ ์ 2์ ํฉ๊ณ๋ 19๊ฐ ๋๋ค. ํ๋ ์ 3. ๊ธฐ๋ณธ ์ ์๋ 9 + 0 = 9์ด๋ค.
ํ๋ ์ 4. ๊ธฐ๋ณธ ์ ์๋ 10์ด๋ค. ์คํธ๋ผ์ดํฌ๋ฅผ ์น ๊ฒฝ์ฐ ๋ค์ ํ๋ ์์ ๋ ์๋๋ค์ ๊ฐ์ ์ถ๊ฐ ์ ์๋ฅผ ๋ฐ์ผ๋ฉฐ, ์ด ๊ฒฝ์ฐ 6 + 3 = 9์ด๋ค. ๋ฐ๋ผ์ ํ๋ ์ 4์ ํฉ๊ณ๋ 19๊ฐ ๋๋ค.
ํ๋ ์ 5. ๊ธฐ๋ณธ ์ ์๋ 6 + 3 = 9์ด๋ค.
ํ๋ ์ 6. ๊ธฐ๋ณธ ์ ์๋ 10์ด๋ค. ์คํธ๋ผ์ดํฌ๋ฅผ ์น ๊ฒฝ์ฐ ๋ค์ ํ๋ ์์ ๋ ์๋๋ค์ ๊ฐ์ ์ถ๊ฐ ์ ์๋ฅผ ๋ฐ์ผ๋ฉฐ, ์ด ๊ฒฝ์ฐ 8 + 2 = 10์ด๋ค. ๋ฐ๋ผ์ ํ๋ ์ 6์ ํฉ๊ณ๋ 20์ด ๋๋ค.
ํ๋ ์ 7. ๊ธฐ๋ณธ ์ ์๋ 8 + 2 = 10์ด๋ค. ์คํ์ด๋ฅผ ์น ๊ฒฝ์ฐ, ๋ค์ ํ๋ ์์ ์ฒซ ๋ฒ์งธ ์๋ ๊ฐ์ธ 10๋งํผ ์ถ๊ฐ ์ ์๋ฅผ ๋ฐ๋๋ค. ๋ฐ๋ผ์ ํ๋ ์ 7์ ํฉ๊ณ๋ 20์ด ๋๋ค.
ํ๋ ์ 8. ๊ธฐ๋ณธ ์ ์๋ 10์ด๋ค. ์คํธ๋ผ์ดํฌ๋ฅผ ์น ๊ฒฝ์ฐ ๋ค์ ํ๋ ์์ ๋ ์๋๋ค์ ๊ฐ์ ์ถ๊ฐ ์ ์๋ฅผ ๋ฐ์ผ๋ฉฐ, ์ด ๊ฒฝ์ฐ 10 + 6 = 16์ด๋ค. ๋ฐ๋ผ์ ํ๋ ์ 8์ ํฉ๊ณ๋ 26์ด ๋๋ค. ํ๋ ์ 9. ๊ธฐ๋ณธ ์ ์๋ 10์ด๋ค. ์คํธ๋ผ์ดํฌ๋ฅผ ์น ๊ฒฝ์ฐ ๋ค์ ํ๋ ์์ ๋ ์๋๋ค์ ๊ฐ์ ์ถ๊ฐ ์ ์๋ฅผ ๋ฐ์ผ๋ฉฐ, ์ด ๊ฒฝ์ฐ 6 + 4 = 10์ด๋ค. ๋ฐ๋ผ์ ํ๋ ์ 9์ ํฉ๊ณ๋ 20์ด ๋๋ค.
ํ๋ ์ 10. ๊ธฐ๋ณธ ์ ์๋ 6 + 4 + 10 = 20์ด๋ค. ๋ง์ง๋ง ํ๋ ์์ ์ถ๊ฐ ์ ์๋ฅผ ๊ณ์ฐํ์ง ์์ผ๋ฏ๋ก ํ๋ ์ 10์ ํฉ๊ณ๋ 20์ด ๋๋ค.
1. ๋ณผ๋ง ๊ฒฐ๊ณผ ์ ๋ ฅ ๋ณผ๋ง ๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ๊ธฐ๋ก๋์ด ์๋ ํ ์คํธ ํ์ผ์์ ๋ฌธ์๋ค์ ์ฝ์ด ๋ณผ๋ง ์ ์๋ฅผ ๊ณ์ฐํ๋ค. ๋ค์์ ๋ณผ๋ง ๊ฒฐ๊ณผ ์ ๋ ฅ ์์ ๋ค์ด๋ฉฐ, ๊ณผ์ 2 ๊ณต์ง ๋์์ ํ ์คํธ ํ์ผ๋ค์ ๋ฐ์ ์ ์๋ค (Example1-4). ๊ฐ ์๋๋ง๋ค ์ฐ๋ฌํธ๋ฆฐ ๋ณผ๋ง ํ์ ๊ฐ์๊ฐ ๊ณต๋ฐฑ์์ด ์ฃผ์ด์ง๋ฉฐ, ์ ์ ์ ๊ณ์ฐ ์์์ ๋์ผํ๊ฒ ์คํธ๋ผ์ดํฌ๋ S, ์คํ์ด๋ P, ํ์ ํ๋๋ ๋ชป ์ฐ๋ฌํธ๋ฆฐ ๊ฒฝ์ฐ๋ โ์ผ๋ก ํ์๋๋ค.
Example1.txt
9-8P72S9P-9S-P9-SS8
Example2.txt
SSSSSSSSSSSS
Example3.txt
9P8-SS8-S819P81S9P
Example4.txt
6P71SS9PS8PS9P9-
๊ฐ ์์ ๋ค์ ๊ฒฐ๊ณผ ๊ฐ์ ์์๋๋ก 150, 300, 155, 182์ด๋ค. ๋ ๋ฒ์งธ ์์ ๋ ๋ชจ๋ ์๋๋ค์์ ์คํธ๋ผ์ดํฌ๋ฅผ ์น ๊ฒฝ์ฐ์ด๋ฉฐ, ๊ฒฐ๊ณผ ๊ฐ์ธ 300์ ๋ฐ์ ์ ์๋ ์ ์์ ์ต๋ ๊ฐ์ด๋ค. ์ด๋ ์คํธ๋ผ์ดํฌ ํ ๋ฒ์ด 30์ ์ผ๋ก (ํ์ฌ ๊ธฐ๋ณธ ์ ์ 10์ ์ ๋ค์ ํ๋ ์ ์ถ๊ฐ ์ ์ 10์ , ๊ทธ ๋ค์ ํ๋ ์ ์ถ๊ฐ ์ ์ 10์ ) ๊ณ์ฐ๋ ์ ์๊ธฐ์ ๊ฐ๋ฅํ ์ ์์ด๋ค.
์
๋ ฅ ํ์ผ์ ๋ณผ๋ง ๊ฒฐ๊ณผ ๊ฐ์ ์ฌ์ฉ์๋ก๋ถํฐ ๋ฐ์์ค๋ ๊ฐ์ด ์๋๋ฏ๋ก ์ถ๊ฐ์ ์ธ ์์ธ ์ฒ๋ฆฌ ๊ตฌํ์ ํ์ํ์ง ์๋ค. ์ฆ, ๋น์ ์์ ์ธ ๊ฒฐ๊ณผ ๊ฐ์ ๋ํด์๋ ๊ณ ๋ คํ ํ์๊ฐ ์๋ค. ์์ ํ์ผ๋ก 4๊ฐ์ ํ์ผ์ด ์ฃผ์ด์ง๋, ์ด ๊ณผ์ ์์๋ ์ ์ ๊ณ์ฐ์ ์ํ์ฌ ์ฝ๋ ํ
์คํธ ํ์ผ ์ด๋ฆ์ Example.txt๋ก ๊ณ ์ ํด์ ๊ตฌํํ๋๋ก ํ๋ค.
2. ์ ์ ๊ณ์ฐ
๊ธฐ๋ณธ ์ ์๋ ์ถ๊ฐ ์ ์๋ฅผ ๊ณ ๋ คํ์ง ์์ ์ ์๋ก, ์ฐ๋ฌํธ๋ฆฐ ๋ณผ๋ง ํ ๊ฐ์๋ง๋ค 1์ ์ฉ ๊ณ์ฐ๋๋ค. ๋ณผ๋ง ๊ฒฐ๊ณผ๊ฐ ์
๋ ฅ๋ ํ์ผ์ ์ ๊ฒฐ๊ณผ ์
๋ ฅ ์ค๋ช
๊ณผ ๊ฐ์ด ๊ธฐํธ์ ์ซ์๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
์ถ๊ฐ ์ ์๋ ์คํธ๋ผ์ดํฌ๋ ์คํ์ด๋ฅผ ์น ๊ฒฝ์ฐ ์ถ๊ฐ๋ก ์ป์ ์ ์๋ ์ ์์ด๋ค. ์คํ์ด๋ ๋ค์ ํ ๋ฒ ๊ธฐํ ๋์์ ๊ธฐ๋ณธ ์ ์๋ฅผ ์ถ๊ฐ๋ก ์ป์ ์ ์์ผ๋ฉฐ, ์คํธ๋ผ์ดํฌ๋ ๋ ๋ฒ ๋์์ ๊ธฐ๋ณธ ์ ์๋ฅผ ์ถ๊ฐ๋ก ์ป์ ์ ์๋ค. ์ด๋ ํด๋น ๋ฌธ์ ์ดํ ๊ฐ๊ฐ ํ ๋ฒ(P), ๋ ๋ฒ(S) ๋์ ๊ธฐ๋ณธ ์ ์๋ฅผ ์ถ๊ฐ ์ ์๋ก ๋ํด์ค์ผ ํ๋ค๋ ์๋ฏธ์ด๋ค.
๋ค์์ ์คํธ๋ผ์ดํฌ ๋ค ๋ฒ์ด ์ฐ์๋ ๊ฒฝ์ฐ์ด๋ฉฐ, ํ๋ ์ 1๊ณผ ํ๋ ์ 2์ ์คํธ๋ผ์ดํฌ๋ก๋ถํฐ ํ์ํ ์ถ๊ฐ ์ ์๋ฅผ ๋ํ๋ด๊ณ ์๋ค. ํ๋ ์ 2์ ์คํธ๋ผ์ดํฌ๋ 1๋ฒ, ํ๋ ์ 3์ ์คํธ๋ผ์ดํฌ๋ 2๋ฒ (ํ๋ ์ 1 ์คํธ๋ผ์ดํฌ๋ก๋ถํฐ ํ ๋ฒ, ํ๋ ์ 2 ์คํธ๋ผ์ดํฌ๋ก๋ถํฐ ํ ๋ฒ)์ผ๋ก ๊ธฐ๋ณธ ์ ์๊ฐ ์ถ๊ฐ ์ ์๋ก ์ฐธ์กฐ๋ ๊ฒ์ ์ ์ ์๋ค.
์คํธ๋ผ์ดํฌ ๋ค ๋ฒ ์ฐ์๋ ๊ฒฝ์ฐ
๋ค์์ ๊ณผ์ ์์ ์๊ตฌํ๋ ํจ์์ด๋ค. ๋์ผํ ๊ธฐ๋ฅ์ ํ๋ ํจ์๋ ๋ฐ๋์ ์์ด์ผ ํ๋ฉฐ, ๋ณ๊ฒฝ ์ ๋ณด๊ณ ์์ ์ค๋ช ์ ์ถ๊ฐํ๋๋ก ํ๋ค. ์ด์ธ์ ์ฌ์ฉ์ ์ ์ ํจ์ ๋ ๊ฐ๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ๊ตฌํํ๋๋ก ํ๋ค (์ฃผ์์ฌํญ ์ฐธ๊ณ ).
๏ฌ ๊ธฐํธ์ ์ซ์ ๋ฌธ์๋ฅผ ํด์ํ๋ ํจ์์ด๋ค. ํด์์ด ํ์ํ ๋ฌธ์์ ์ด๋ฏธ ํด์๋ ์ด์ ๋ฌธ์์ ์ ์ ๊ฐ์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ๋ฐ์ผ๋ฉฐ, ํด์๋ ์ ์ ๊ฐ์ ๋ฐํํ๋ ํจ์์ด๋ค. ์ด์ ๋ฌธ์์ ์ ์ ๊ฐ์ P(์คํ์ด)๋ฅผ ํด์ํ๋๋ฐ ์ด์ฉ๋ ์ ์๋ค.
int encode(char c, int prevPoint)
3. ๊ฒฐ๊ณผ ์ถ๋ ฅ
๊ฒฐ๊ณผ ์ถ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ด ๋ณผ๋ง ๊ฒฐ๊ณผ ์
๋ ฅ ๋ฌธ์๋ค, ์ต์ข
๊ณ์ฐ ์ ์ ์์ผ๋ก ์ถ๋ ฅํ๋ค.
Example1 ์ถ๋ ฅ ๊ฒฐ๊ณผ




Reviews
There are no reviews yet.