[c++] BOJ 1062 :: ๊ฐ€๋ฅด์นจ
Algorithm ๋ฌธ์ œ/BOJ 2021. 8. 10. 21:57

๋ฌธ์ œ ๊ฐ€๋ฅด์นจ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๋‚จ๊ทน์— ์‚ฌ๋Š” ๊น€์ง€๋ฏผ ์„ ์ƒ๋‹˜์€ ํ•™์ƒ๋“ค์ด ๋˜๋„๋ก์ด๋ฉด ๋งŽ์€ ๋‹จ์–ด๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง€๊ตฌ์˜จ๋‚œํ™”๋กœ ์ธํ•ด ์–ผ์Œ์ด ๋…น์•„์„œ ๊ณง ํ•™๊ต๊ฐ€ ๋ฌด๋„ˆ์ง€๊ธฐ ๋•Œ๋ฌธ์—, ๊น€์ง€๋ฏผ์€ K๊ฐœ์˜ ๊ธ€์ž๋ฅผ ๊ฐ€๋ฅด์น  ์‹œ๊ฐ„ ๋ฐ–์— ์—†๋‹ค. ๊น€์ง€๋ฏผ์ด ๊ฐ€๋ฅด์น˜๊ณ  ๋‚œ ํ›„์—๋Š”, ํ•™์ƒ๋“ค์€ ๊ทธ K๊ฐœ์˜ ๊ธ€์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๋งŒ์„ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค. ๊น€์ง€๋ฏผ์€ ์–ด๋–ค K๊ฐœ์˜ ๊ธ€์ž๋ฅผ ๊ฐ€๋ฅด์ณ์•ผ ํ•™์ƒ๋“ค์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ตœ๋Œ€๊ฐ€ ๋˜๋Š”์ง€ ๊ณ ๋ฏผ์— ๋น ์กŒ๋‹ค. ๋‚จ๊ทน์–ธ์–ด์˜ ๋ชจ๋“  ๋‹จ์–ด๋Š” "anta"๋กœ ์‹œ์ž‘๋˜๊ณ , "tica"๋กœ ๋๋‚œ๋‹ค. ๋‚จ๊ทน์–ธ์–ด์— ๋‹จ์–ด๋Š” N๊ฐœ ๋ฐ–์— ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ํ•™์ƒ๋“ค์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด์˜ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ํ’€์ด brute force๋กœ ์ฐพ๊ธฐ (N์ด ์ž‘์Œ) ์กฐ๊ฑด๋“ค์„ ์ด์šฉํ•˜์—ฌ ์ตœ๋Œ€ํ•œ ์‹œ๊ฐ„๋ณต์žก๋„ ์ค„์ด๊ธฐ ..

[c++] BOJ 1600 :: ๋ง์ด ๋˜๊ณ ํ”ˆ ์›์ˆญ์ด
Algorithm ๋ฌธ์ œ/BOJ 2021. 6. 25. 23:00

๋‚œ์ด๋„ : ? ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 1์‹œ๊ฐ„ ๋ฐ˜ ๋ฌธ์ œ ๋™๋ฌผ์›์—์„œ ๋ง‰ ํƒˆ์ถœํ•œ ์›์ˆญ์ด ํ•œ ๋งˆ๋ฆฌ๊ฐ€ ์„ธ์ƒ๊ตฌ๊ฒฝ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ ๋…€์„์€ ๋ง(Horse)์ด ๋˜๊ธฐ๋ฅผ ๊ฐ„์ ˆํžˆ ์›ํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ๋Š” ๋ง์˜ ์›€์ง์ž„์„ ์œ ์‹ฌํžˆ ์‚ดํŽด๋ณด๊ณ  ๊ทธ๋Œ€๋กœ ๋”ฐ๋ผ ํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. ๋ง์€ ๋ง์ด๋‹ค. ๋ง์€ ๊ฒฉ์žํŒ์—์„œ ์ฒด์Šค์˜ ๋‚˜์ดํŠธ์™€ ๊ฐ™์€ ์ด๋™๋ฐฉ์‹์„ ๊ฐ€์ง„๋‹ค. ๋‹ค์Œ ๊ทธ๋ฆผ์— ๋ง์˜ ์ด๋™๋ฐฉ๋ฒ•์ด ๋‚˜ํƒ€๋‚˜์žˆ๋‹ค. xํ‘œ์‹œํ•œ ๊ณณ์œผ๋กœ ๋ง์ด ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค. ์ฐธ๊ณ ๋กœ ๋ง์€ ์žฅ์• ๋ฌผ์„ ๋›ฐ์–ด๋„˜์„ ์ˆ˜ ์žˆ๋‹ค. x x x x ๋ง x x x x ๊ทผ๋ฐ ์›์ˆญ์ด๋Š” ํ•œ ๊ฐ€์ง€ ์ฐฉ๊ฐํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์žˆ๋‹ค. ๋ง์€ ์ €๋ ‡๊ฒŒ ์›€์ง์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ์›์ˆญ์ด๋Š” ๋Šฅ๋ ฅ์ด ๋ถ€์กฑํ•ด์„œ ์ด K๋ฒˆ๋งŒ ์œ„์™€ ๊ฐ™์ด ์›€์ง์ผ ์ˆ˜ ์žˆ๊ณ , ๊ทธ ์™ธ์—๋Š” ๊ทธ๋ƒฅ ์ธ์ ‘ํ•œ ์นธ์œผ๋กœ๋งŒ ์›€์ง์ผ ์ˆ˜ ์žˆ๋‹ค. ๋Œ€๊ฐ์„  ๋ฐฉํ–ฅ์€ ์ธ์ ‘ํ•œ ์นธ์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด์ œ ์›์ˆญ์ด..

[c++] BOJ 1525 :: ํผ์ฆ
Algorithm ๋ฌธ์ œ/BOJ 2021. 5. 26. 18:43

๋‚œ์ด๋„ : ๊ณจ๋“œ 2 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 1์‹œ๊ฐ„ ๋ฌธ์ œ ํผ์ฆ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ 3ร—3 ํ‘œ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜๊ฐ€ ์ฑ„์›Œ์ ธ ์žˆ๋‹ค. ์˜ค๋ฅธ์ชฝ ์•„๋ž˜ ๊ฐ€์žฅ ๋ ์นธ์€ ๋น„์–ด ์žˆ๋Š” ์นธ์ด๋‹ค. 1 2 3 4 5 6 7 8 ์–ด๋–ค ์ˆ˜์™€ ์ธ์ ‘ํ•ด ์žˆ๋Š” ๋„ค ๊ฐœ์˜ ์นธ ์ค‘์— ํ•˜๋‚˜๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฉด, ์ˆ˜๋ฅผ ๊ทธ ์นธ์œผ๋กœ ์ด๋™์‹œํ‚ฌ ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ๋ฌผ๋ก  ํ‘œ ๋ฐ”๊นฅ์œผ๋กœ ๋‚˜๊ฐ€๋Š” ๊ฒฝ์šฐ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์šฐ๋ฆฌ์˜ ๋ชฉํ‘œ๋Š” ์ดˆ๊ธฐ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ตœ์†Œ์˜ ์ด๋™์œผ๋กœ ์œ„์™€ ๊ฐ™์€ ์ •๋ฆฌ๋œ ์ƒํƒœ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. ํ’€์ด ์ตœ๋‹จ ๊ฒฝ๋กœ ๋ฌธ์ œ์ด๋ฏ€๋กœ bfs ์ด์šฉ memo ํ•ด์•ผ ๋˜‘๊ฐ™์€ ๊ฒฝ๋กœ ๋‹ค์‹œ ํƒ์ƒ‰ x memo๋Š” ์ „์ฒด map์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•ด์•ผํ•จ string์œผ๋กœ ์ €์žฅ ์ฝ”๋“œ #include #include #include #include #include using namespace std; int map[..

[c++] BOJ 9019 :: DSLR
Algorithm ๋ฌธ์ œ/BOJ 2021. 5. 26. 18:38

๋‚œ์ด๋„ : ๊ณจ๋“œ 5 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 1์‹œ๊ฐ„ 30๋ถ„ ๋ฌธ์ œ DSLR ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ํ’€์ด DSLR์ด๋ผ๋Š” 4๊ฐ€์ง€ ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  bfs ์ฝ”๋“œ #include #include #include using namespace std; struct point { int prev; char state; int visited = -1; }; char dslrArr[4] = { 'D', 'S', 'L', 'R' }; int dslrResult(int type, int num) { int tmp; switch (type) { case 0 : return (num* 2) % 10000; case 1 : if (num == 0) return 9999; else return num - 1; case 2 : tmp = num /..

[c++] BOJ 2146 :: ๋‹ค๋ฆฌ ๋งŒ๋“ค๊ธฐ
Algorithm ๋ฌธ์ œ/BOJ 2021. 5. 18. 18:57

๋‚œ์ด๋„ : ๊ณจ๋“œ 3 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 30๋ถ„ ๋ฌธ์ œ ๋‹ค๋ฆฌ ๋งŒ๋“ค๊ธฐ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ 2146๋ฒˆ: ๋‹ค๋ฆฌ ๋งŒ๋“ค๊ธฐ ์—ฌ๋Ÿฌ ์„ฌ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋‚˜๋ผ๊ฐ€ ์žˆ๋‹ค. ์ด ๋‚˜๋ผ์˜ ๋Œ€ํ†ต๋ น์€ ์„ฌ์„ ์ž‡๋Š” ๋‹ค๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ๊ณต์•ฝ์œผ๋กœ ์ธ๊ธฐ๋ชฐ์ด๋ฅผ ํ•ด ๋‹น์„ ๋  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ง‰์ƒ ๋Œ€ํ†ต๋ น์— ์ทจ์ž„ํ•˜์ž, ๋‹ค๋ฆฌ๋ฅผ ๋†“๋Š”๋‹ค๋Š” ๊ฒƒ์ด ์•„๊น๋‹ค www.acmicpc.net ํ’€์ด ๊ฐ€์žฅ ์งง์€ ๋‹ค๋ฆฌ์˜ ๊ธธ์ด == ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋‘ ์  ์‚ฌ์ด์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ๋ชจ๋“  ์„ฌ ์‚ฌ์ด์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•ด์•ผ ํ•จ ๊ฐ ์„ฌ์— ์†ํ•œ ์ ๋“ค๋กœ๋ถ€ํ„ฐ ๋‹ค๋ฅธ ์„ฌ์˜ ์ ๋“ค๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ ๊ฐ€์ค‘์น˜ ์—†์œผ๋ฏ€๋กœ bfs ์ด์šฉ ๊ฐ ์„ฌ์— ์†ํ•˜๋Š” ์ ๋“ค์€ bfs๋กœ ๋”ฐ๋กœ ์ฐพ๊ธฐ ์ฝ”๋“œ #include #include using namespace std; int map[101][101]; int direction[4][2] = { ..

[c++] BOJ 2589 :: ๋ณด๋ฌผ์„ฌ
Algorithm ๋ฌธ์ œ/BOJ 2021. 5. 18. 18:49

๋‚œ์ด๋„ : ๊ณจ๋“œ 5 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 30๋ถ„ ๋ฌธ์ œ ๋ณด๋ฌผ์„ฌ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๋ณด๋ฌผ์„ฌ ์ง€๋„๋ฅผ ๋ฐœ๊ฒฌํ•œ ํ›„ํฌ ์„ ์žฅ์€ ๋ณด๋ฌผ์„ ์ฐพ์•„๋‚˜์„ฐ๋‹ค. ๋ณด๋ฌผ์„ฌ ์ง€๋„๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ง์‚ฌ๊ฐํ˜• ๋ชจ์–‘์ด๋ฉฐ ์—ฌ๋Ÿฌ ์นธ์œผ๋กœ ๋‚˜๋‰˜์–ด์ ธ ์žˆ๋‹ค. ๊ฐ ์นธ์€ ์œก์ง€(L)๋‚˜ ๋ฐ”๋‹ค(W)๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ๋‹ค. ์ด ์ง€๋„์—์„œ ์ด๋™์€ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ด์›ƒํ•œ ์œก์ง€๋กœ๋งŒ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ•œ ์นธ ์ด๋™ํ•˜๋Š”๋ฐ ํ•œ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. ๋ณด๋ฌผ์€ ์„œ๋กœ ๊ฐ„์— ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋กœ ์ด๋™ํ•˜๋Š”๋ฐ ์žˆ์–ด ๊ฐ€์žฅ ๊ธด ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ์œก์ง€ ๋‘ ๊ณณ์— ๋‚˜๋‰˜์–ด ๋ฌปํ˜€์žˆ๋‹ค. ์œก์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ๊ณณ ์‚ฌ์ด๋ฅผ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋กœ ์ด๋™ํ•˜๋ ค๋ฉด ๊ฐ™์€ ๊ณณ์„ ๋‘ ๋ฒˆ ์ด์ƒ ์ง€๋‚˜๊ฐ€๊ฑฐ๋‚˜, ๋ฉ€๋ฆฌ ๋Œ์•„๊ฐ€์„œ๋Š” ์•ˆ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์œ„์™€ ๊ฐ™์ด ์ง€๋„๊ฐ€ ์ฃผ์–ด์กŒ๋‹ค๋ฉด ๋ณด๋ฌผ์€ ์•„๋ž˜ ํ‘œ์‹œ๋œ ๋‘ ๊ณณ์— ๋ฌปํ˜€ ์žˆ๊ฒŒ ๋˜๊ณ , ์ด ๋‘˜ ์‚ฌ์ด์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋กœ ์ด๋™ํ•˜๋Š” ์‹œ๊ฐ„์€ 8์‹œ๊ฐ„์ด ๋œ๋‹ค. ๋ณด๋ฌผ..

[c++] BOJ 2206 :: ๋ฒฝ ๋ถ€์ˆ˜๊ณ  ์ด๋™ํ•˜๊ธฐ
Algorithm ๋ฌธ์ œ/BOJ 2021. 5. 11. 00:58

๋‚œ์ด๋„ : ๊ณจ๋“œ 4 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : ์˜ค๋ž˜ ๊ฑธ๋ฆผ ๋ฌธ์ œ ๋ฒฝ ๋ถ€์ˆ˜๊ณ  ์ด๋™ํ•˜๊ธฐ ๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ Nร—M์˜ ํ–‰๋ ฌ๋กœ ํ‘œํ˜„๋˜๋Š” ๋งต์ด ์žˆ๋‹ค. ๋งต์—์„œ 0์€ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณณ์„ ๋‚˜ํƒ€๋‚ด๊ณ , 1์€ ์ด๋™ํ•  ์ˆ˜ ์—†๋Š” ๋ฒฝ์ด ์žˆ๋Š” ๊ณณ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋‹น์‹ ์€ (1, 1)์—์„œ (N, M)์˜ ์œ„์น˜๊นŒ์ง€ ์ด๋™ํ•˜๋ ค ํ•˜๋Š”๋ฐ, ์ด๋•Œ ์ตœ๋‹จ ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•˜๋ ค ํ•œ๋‹ค. ์ตœ๋‹จ๊ฒฝ๋กœ๋Š” ๋งต์—์„œ ๊ฐ€์žฅ ์ ์€ ๊ฐœ์ˆ˜์˜ ์นธ์„ ์ง€๋‚˜๋Š” ๊ฒฝ๋กœ๋ฅผ ๋งํ•˜๋Š”๋ฐ, ์ด๋•Œ ์‹œ์ž‘ํ•˜๋Š” ์นธ๊ณผ ๋๋‚˜๋Š” ์นธ๋„ ํฌํ•จํ•ด์„œ ์„ผ๋‹ค. ๋งŒ์•ฝ์— ์ด๋™ํ•˜๋Š” ๋„์ค‘์— ํ•œ ๊ฐœ์˜ ๋ฒฝ์„ ๋ถ€์ˆ˜๊ณ  ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด ์ข€ ๋” ๊ฒฝ๋กœ๊ฐ€ ์งง์•„์ง„๋‹ค๋ฉด, ๋ฒฝ์„ ํ•œ ๊ฐœ ๊นŒ์ง€ ๋ถ€์ˆ˜๊ณ  ์ด๋™ํ•˜์—ฌ๋„ ๋œ๋‹ค. ํ•œ ์นธ์—์„œ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์นธ์€ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ธ์ ‘ํ•œ ์นธ์ด๋‹ค. ๋งต์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•ด ๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ํ’€์ด ๋ชจ๋“  ๊ฒฝ๋กœ๋ฅผ ์‚ดํŽด๋ณผ ํ•„์š”์—†..

[c++] BOJ 16236 :: ์•„๊ธฐ ์ƒ์–ด
Algorithm ๋ฌธ์ œ/BOJ 2021. 5. 3. 09:26

๋‚œ์ด๋„ : ๊ณจ๋“œ 4 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : ใ…Žใ…Ž.. ์˜ค๋ž˜ ๊ฑธ๋ฆผ ๋ฌธ์ œ ์•„๊ธฐ ์ƒ์–ด ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ํ’€์ด bfs๋ฅผ ์ด์šฉํ•˜์—ฌ ๋จน์„ ์ˆ˜ ์žˆ๋Š” ๊ณ ๊ธฐ ์ฐพ๊ธฐ + ์ƒ์–ด๋กœ๋ถ€ํ„ฐ์˜ ๊ฑฐ๋ฆฌ ์ฐพ๊ธฐ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋จน์„ ์ˆ˜ ์žˆ๋Š” ๊ณ ๊ธฐ๋“ค ์ฐพ๊ธฐ ๊ทธ ์ค‘ ๊ฐ€์žฅ ์™ผ์ชฝ ์œ„์— ์žˆ๋Š” ๊ณ ๊ธฐ ์ฐพ๊ธฐ ์ƒ์–ด๊ฐ€ ํ•ด๋‹น ๋ฌผ๊ณ ๊ธฐ์˜ ์œ„์น˜๋กœ ์ด๋™ํ•ด์„œ ๋จน๊ณ , ๋จน์€ ๋ฌผ๊ณ ๊ธฐ ๊ฐœ์ˆ˜๊ฐ€ size์™€ ๊ฐ™์•„์ง€๋ฉด size ํ‚ค์šฐ๊ธฐ ์ƒ์–ด๋ณด๋‹ค ์ž‘์€ ๋ฌผ๊ณ ๊ธฐ๊ฐ€ ์—†์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต ์ฝ”๋“œ #include #include #include using namespace std; struct shark { int r; int c; int size = 2; }; struct fish { int r; int c; int distance = 0; fish(int rp, int cp, int dist) { r = rp..