[c++] BOJ 17370 :: ์œก๊ฐํ˜• ์šฐ๋ฆฌ ์†์˜ ๊ฐœ๋ฏธ
Algorithm ๋ฌธ์ œ/BOJ 2021. 8. 24. 21:59

๋ฌธ์ œ ์œก๊ฐํ˜• ์šฐ๋ฆฌ ์†์˜ ๊ฐœ๋ฏธ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ฐœ๋ฏธ๊ฐ€ ์ด์ „์— ๋ฐฉ๋ฌธํ–ˆ๋˜, ์ฆ‰, ํŽ˜๋กœ๋ชฌ์ด ๋ฟŒ๋ ค์ง„ ์ง€์ ์— ๋„์ฐฉํ•˜๋ฉด ์ด๊ณณ์ด ์ด๋ฏธ ์ต์ˆ™ํ•œ ์˜์—ญ์ด๋ผ๋Š” ์ฐฉ๊ฐ์— ๋น ์ง€๊ณ  ๋” ์ด์ƒ์˜ ํƒ์ƒ‰์„ ๋ฉˆ์ถ˜๋‹ค. ์ด๋ ‡๊ฒŒ ํƒ์ƒ‰์„ ๋ฉˆ์ท„์„ ๋•Œ, ๋ฐฉํ–ฅ์„ ํšŒ์ „ํ•œ ํšŸ์ˆ˜๊ฐ€ ์ •ํ™•ํžˆ N๋ฒˆ์ด ๋˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•ด๋ณด์ž. ํ’€์ด ๊ฐœ๋ฏธ๊ฐ€ ์œ„์น˜ํ•œ ์œก๊ฐํ˜•์˜ ์ ์— ๋”ฐ๋ผ TYPE1, TYPE2๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์œก๊ฐํ˜•์„ ์ด๋ ‡๊ฒŒ 3์ฐจ์›์˜ ์ •์‚ฌ๋ฉด์ฒด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋‹ค์Œ์€ ๊ฐ๊ฐ x์ถ•์œผ๋กœ +1, y์ถ•์œผ๋กœ +1, z์ถ•์œผ๋กœ +1์ด๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ ํ† ๋Œ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ๋ฆ„์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•˜์˜€๋‹ค. (0, 0, 0)์„ ์ด๋ฏธ ๋“ค๋ฅด๊ณ , z์ถ• ์ด๋™ํ•œ ๊ฒƒ(0, 0, 1)์œผ๋กœ ์ฒ˜์Œ ์ด๋™์„ ๊ณ ์ •ํ•œ๋‹ค. ๋‹ค์Œ ์ด๋™๋ถ€ํ„ฐ๋Š” TYPE์— ๋”ฐ๋ผ 3๊ฐ€์ง€ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์ผ ํ˜„์žฌ TYPE 1์˜ x์ถ• ..

[c++] BOJ 1941 :: ์†Œ๋ฌธ๋‚œ ์น ๊ณต์ฃผ
Algorithm ๋ฌธ์ œ/BOJ 2021. 8. 24. 21:57

๋ฌธ์ œ ์†Œ๋ฌธ๋‚œ ์น ๊ณต์ฃผ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ์ด 25๋ช…์˜ ์—ฌํ•™์ƒ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์—ฌํ•™์ƒ๋ฐ˜์€ 5*5์˜ ์ •์‚ฌ๊ฐํ˜• ๊ฒฉ์ž ํ˜•ํƒœ๋กœ ์ž๋ฆฌ๊ฐ€ ๋ฐฐ์น˜๋˜์—ˆ๊ณ , ์–ผ๋งˆ ์ง€๋‚˜์ง€ ์•Š์•„ ์ด๋‹ค์†œ๊ณผ ์ž„๋„์—ฐ์ด๋ผ๋Š” ๋‘ ํ•™์ƒ์ด ๋‘๊ฐ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ๋‹ค๋ฅธ ํ•™์ƒ๋“ค์„ ํœ˜์–ด์žก๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ณง ๋ชจ๋“  ์—ฌํ•™์ƒ์ด ‘์ด๋‹ค์†œํŒŒ’์™€ ‘์ž„๋„์—ฐํŒŒ’์˜ ๋‘ ํŒŒ๋กœ ๊ฐˆ๋ผ์ง€๊ฒŒ ๋˜์—ˆ์œผ๋ฉฐ, ์–ผ๋งˆ ์ง€๋‚˜์ง€ ์•Š์•„ ‘์ž„๋„์—ฐํŒŒ’๊ฐ€ ์„ธ๋ ฅ์„ ํ™•์žฅ์‹œํ‚ค๋ฉฐ ‘์ด๋‹ค์†œํŒŒ’๋ฅผ ์œ„ํ˜‘ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์œ„๊ธฐ์˜์‹์„ ๋Š๋‚€ ‘์ด๋‹ค์†œํŒŒ’์˜ ํ•™์ƒ๋“ค์€ ๊ณผ๊ฐํžˆ ํ˜„์žฌ์˜ ์ฒด์ œ๋ฅผ ํฌ๊ธฐํ•˜๊ณ , ‘์†Œ๋ฌธ๋‚œ ์น ๊ณต์ฃผ’๋ฅผ ๊ฒฐ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์œ ์ผํ•œ ์ƒ์กด ์ˆ˜๋‹จ์ž„์„ ๊นจ๋‹ฌ์•˜๋‹ค. ‘์†Œ๋ฌธ๋‚œ ์น ๊ณต์ฃผ’๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ฆ„์ด ์ด๋ฆ„์ธ ๋งŒํผ, 7๋ช…์˜ ์—ฌํ•™์ƒ๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•œ๋‹ค. ๊ฐ•ํ•œ ๊ฒฐ์†๋ ฅ์„ ์œ„ํ•ด, 7๋ช…์˜ ์ž๋ฆฌ๋Š” ์„œ๋กœ ๊ฐ€๋กœ๋‚˜ ์„ธ๋กœ๋กœ ๋ฐ˜๋“œ์‹œ ์ธ์ ‘ํ•ด ์žˆ์–ด์•ผ..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…๊ณต๋ถ€ :: ์žฌ๊ท€ํ˜ธ์ถœ (์™„์ „ํƒ์ƒ‰)
์ปดํ“จํ„ฐ๊ณผํ•™ (CS)/Algorithm 2020. 7. 31. 09:51

์žฌ๊ท€ํ˜ธ์ถœ ์žฌ๊ท€ํ•จ์ˆ˜๋ž€ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ž๊ธฐ ์ž์‹ ์„ ๋‹ค์‹œ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ๋•Œ ๋ฐ˜๋ณต๋˜๋Š” ์ž‘์—…๋“ค์ด ๋Œ€ํ•ด์„œ๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ํ‘œํ˜„ํ•œ๋‹ค. ๊ธฐ์ € ์‚ฌ๋ก€๋ž€ ๋” ์ด์ƒ ์ชผ๊ฐœ์ง€์ง€ ์•Š๋Š” ๊ฐ€์žฅ ์ž‘์€ ์ž‘์—…์œผ๋กœ, ์ด์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ๋Š” ์žฌ๊ท€ํ˜ธ์ถœ์„ ๋ฉˆ์ถ”๊ณ  ๋‹ต์„ ๊ณง์žฅ ๋ฐ˜ํ™˜ํ•ด์•ผํ•œ๋‹ค. ๊ธฐ์ € ์‚ฌ๋ก€๋ฅผ ์ •ํ•  ๋•Œ๋Š” ๋ชจ๋“  ์‚ฌ๋ก€์˜ ๋‹ต์ด ๊ธฐ์ € ์‚ฌ๋ก€๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณ„์‚ฐ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผํ•œ๋‹ค. ์™„์ „ ํƒ์ƒ‰ (== Brute Force, Exhaustive search) ์™„์ „ํƒ์ƒ‰์€ ์ปดํ“จํ„ฐ์˜ ์—ฐ์‚ฐ๋Šฅ๋ ฅ์„ ์ด์šฉํ•˜์—ฌ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋‚˜์—ดํ•˜๋ฉด์„œ ๋‹ต์„ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์ž…๋ ฅ์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์„ ๋•Œ ์ ์ ˆํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ฉฐ ๋” ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ธฐ๋ฐ˜์ด ๋œ๋‹ค. ๋‹ต์„ ๋ฌด์กฐ๊ฑด ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ์ฐพ๋Š”๋ฐ์— ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค..