๐Ÿค–Algorithm ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ

ํ•ด๋‹น ๊ธ€ 125๊ฑด

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 13335๋ฒˆ: ํŠธ๋Ÿญ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋Š” ํ‘œ์ค€์ž…๋ ฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ž…๋ ฅ์€ ๋‘ ์ค„๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ์ž…๋ ฅ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ์„ธ ๊ฐœ์˜ ์ •์ˆ˜ n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)์ด ์ฃผ์–ด์ง€๋Š”๋ฐ, n์€ ๋‹ค๋ฆฌ๋ฅผ ๊ฑด๋„ˆ๋Š” ํŠธ www.acmicpc.net ๐Ÿง‘๐Ÿป‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๋‹ค๋ฆฌ๋ฅผ ๊ฑด๋„ˆ๊ธฐ ์œ„ํ•ด ๋Œ€๊ธฐ ์ค‘์ธ ํŠธ๋Ÿญ๋“ค, ๋‹ค๋ฆฌ๋ฅผ ๊ฑด๋„ˆ๋Š” ์ค‘์ธ ํŠธ๋Ÿญ๋“ค์„ ๊ด€๋ฆฌํ•  2๊ฐœ์˜ ํ(Queue)๋ฅผ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น 2๊ฐœ์˜ ํ๊ฐ€ ๋ชจ๋‘ ๋น„์—ˆ๋‹ค๋ฉด, ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ผ๋ฉด, ๋‹ค๋ฆฌ๋ฅผ ๊ฑด๋„ˆ๋Š” ํŠธ๋Ÿญ๋“ค ์ค‘ ๋งจ ์•ž ํŠธ๋Ÿญ์ด ๋‹ค๋ฆฌ๋ฅผ ๊ฑด๋„œ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. "๊ฒฝ๊ณผ์‹œ๊ฐ„ - ํ•ด๋‹น ํŠธ๋Ÿญ์ด ๋‹ค๋ฆฌ์— ์ง„์ž…ํ•œ ์‹œ๊ฐ = ๋‹ค๋ฆฌ์˜ ๊ธธ์ด"๋ผ๋ฉด, ๋‹ค๋ฆฌ๋ฅผ ๊ฑด๋„œ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ, ์ด ๋ฌด๊ฒŒ์—์„œ ํ•ด๋‹น ํŠธ๋Ÿญ ๋ฌด๊ฒŒ๋ฅผ ๋นผ์ฃผ๊ณ ,..

๐Ÿค–Algorithm/BOJ 2023. 9. 4. 21:20

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 1654๋ฒˆ: ๋žœ์„  ์ž๋ฅด๊ธฐ ์ฒซ์งธ ์ค„์—๋Š” ์˜ค์˜์‹์ด ์ด๋ฏธ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋žœ์„ ์˜ ๊ฐœ์ˆ˜ K, ๊ทธ๋ฆฌ๊ณ  ํ•„์š”ํ•œ ๋žœ์„ ์˜ ๊ฐœ์ˆ˜ N์ด ์ž…๋ ฅ๋œ๋‹ค. K๋Š” 1์ด์ƒ 10,000์ดํ•˜์˜ ์ •์ˆ˜์ด๊ณ , N์€ 1์ด์ƒ 1,000,000์ดํ•˜์˜ ์ •์ˆ˜์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ญ์ƒ K โ‰ฆ N ์ด๋‹ค. ๊ทธ www.acmicpc.net ๐Ÿง‘๐Ÿป‍๐Ÿ’ปํ’€์ด ๊ณผ์ • K๊ฐœ์˜ ๋žœ์„ ๋“ค์„ ์ž˜๋ผ, ๋™์ผํ•œ ๊ธธ์ด๋กœ N๊ฐœ ์ด์ƒ์„ ๋งŒ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋“ค ์ค‘ ๊ฐ€์žฅ ๊ธด ๋‹จ์œ„ ๊ธธ์ด๋ฅผ ์ฐพ์œผ๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜ ํƒ์ƒ‰(Parametric Search)์„ ์ด์šฉํ•˜์—ฌ ํ’€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ๋งค๊ฐœ๋ณ€์ˆ˜ ํƒ์ƒ‰์ด๋ž€ ์šฉ์–ด๋ฅผ ์˜ค๋Š˜ ์ฒ˜์Œ ๋“ค์–ด๋ดค๋Š”๋ฐ, ๋‚ด์šฉ์„ ๋ณด๋‹ˆ ์ œ๊ฐ€ ์•Œ๊ฒŒ ๋ชจ๋ฅด๊ฒŒ ์‚ฌ์šฉํ–ˆ๋˜ ๋ฐฉ๋ฒ•์ด๋”๊ตฐ์š”. ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐ์—ด(arr)์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” K๊ฐœ์˜ ๋žœ์„ ๋“ค์„ ์˜ค๋ฆ„์ฐจ์ˆœ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. ..

๐Ÿค–Algorithm/BOJ 2023. 9. 2. 18:59

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 1629๋ฒˆ: ๊ณฑ์…ˆ ์ฒซ์งธ ์ค„์— A, B, C๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. A, B, C๋Š” ๋ชจ๋‘ 2,147,483,647 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net ๐Ÿง‘๐Ÿป‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์ฒ˜์Œ ๋ฌธ์ œ๋ฅผ ๋ดค์„ ๋•Œ๋Š” ๋ฌธ์ œ๊ฐ€ ์›ํ•˜๋Š” ๊ฒŒ ๋ญ๊ธธ๋ž˜ ์‹ค๋ฒ„ 1์ผ๊นŒ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์ฃผ์–ด์ง„ ์ˆซ์ž ๋ฒ”์œ„๊ฐ€ ๋ชจ๋‘ ์ตœ๋Œ€ 2,147,483,647์ด๋”๊ตฐ์š”... ์ฆ‰, \(O(n)\) ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฉด ์ตœ๋Œ€ 2,147,483,647(21์–ต) ๋ฒˆ ๋Œ๊ธฐ ๋•Œ๋ฌธ์—, ์‹œ๊ฐ„ ๋‚ด๋กœ ์ ˆ๋Œ€ ๋ชป ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค. \( O(logN) \) ์ •๋„๋Š” ๋˜์–ด์•ผ ํ’€ ์ˆ˜ ์žˆ์„ํ…๋ฐ, ์–ด๋–ป๊ฒŒ ํ• ๊นŒ ํ•˜๋‹ค๊ฐ€ ์ €๋Š” 2๊ฐœ์”ฉ ๋ฌถ๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. 2๊ฐœ์”ฉ ๋ฌถ๊ฒŒ ๋˜๋ฉด, ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์ƒํ™ฉ์„ ์ง๋ฉดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. B๊ฐ€ ์ง์ˆ˜์ผ ๊ฒฝ์šฐ \( \rightarro..

๐Ÿค–Algorithm/BOJ 2023. 9. 1. 14:30

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 1780๋ฒˆ: ์ข…์ด์˜ ๊ฐœ์ˆ˜ N×Nํฌ๊ธฐ์˜ ํ–‰๋ ฌ๋กœ ํ‘œํ˜„๋˜๋Š” ์ข…์ด๊ฐ€ ์žˆ๋‹ค. ์ข…์ด์˜ ๊ฐ ์นธ์—๋Š” -1, 0, 1 ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ํ–‰๋ ฌ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ํฌ๊ธฐ๋กœ ์ž๋ฅด๋ ค๊ณ  ํ•œ๋‹ค. ๋งŒ์•ฝ ์ข…์ด๊ฐ€ ๋ชจ๋‘ ๊ฐ™์€ ์ˆ˜ www.acmicpc.net ๐Ÿง‘๐Ÿป‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๐Ÿ”—1992๋ฒˆ ๋ฌธ์ œ์™€ ๋น„์Šทํ•œ๋ฐ, 4๊ฐœ์˜ ๋ถ„ํ• ์—์„œ 9๊ฐœ๋กœ ๋Š˜์—ˆ๋‹ค๋Š” ์ ๋งŒ ๋‹ค๋ฅธ ๊ฒƒ์„ ๋นผ๋ฉด ํ’€์ด๋Š” ๋˜‘๊ฐ™์Šต๋‹ˆ๋‹ค. ์ •๋ง๋กœ ๋˜‘๊ฐ™์•„์„œ, ๋”ฐ๋กœ ์ ์„ ๋ง์ด ์—†๋„ค์š”... โœ๏ธ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ #include #include #include #define FAST_IO ios::sync_with_stdio(false); cout.tie(NULL); cin.tie(NULL); using namespace std; const int ALL_..

๐Ÿค–Algorithm/BOJ 2023. 8. 31. 22:38

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 1992๋ฒˆ: ์ฟผ๋“œํŠธ๋ฆฌ ์ฒซ์งธ ์ค„์—๋Š” ์˜์ƒ์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆซ์ž N ์ด ์ฃผ์–ด์ง„๋‹ค. N ์€ ์–ธ์ œ๋‚˜ 2์˜ ์ œ๊ณฑ์ˆ˜๋กœ ์ฃผ์–ด์ง€๋ฉฐ, 1 ≤ N ≤ 64์˜ ๋ฒ”์œ„๋ฅผ ๊ฐ€์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ๋Š” ๊ธธ์ด N์˜ ๋ฌธ์ž์—ด์ด N๊ฐœ ๋“ค์–ด์˜จ๋‹ค. ๊ฐ ๋ฌธ์ž์—ด์€ 0 ๋˜ www.acmicpc.net ๐Ÿง‘๐Ÿป‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๐Ÿ”—2630๋ฒˆ ๋ฌธ์ œ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด 2์ฐจ์› ๋ฐฐ์—ด์„ image๋ผ๊ณ  ํ•˜๊ณ , ํ˜„์žฌ ํƒ์ƒ‰ ์ค‘์ธ ์‚ฌ๊ฐํ˜• ์˜์—ญ์˜ ์ œ์ผ ์™ผ์ชฝ ์œ„ ์‹œ์ž‘์ ์„ (rowBegin, colBegin)์ด๋ผ๊ณ  ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. \(N \times N \) ํฌ๊ธฐ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ Top-down์œผ๋กœ ๋‚ด๋ ค ๊ฐ„๋‹ค. N == 1์ด๋ผ๋ฉด, ์ •๋‹ต ๋ฌธ์ž์—ด์— ํ˜„์žฌ ์ƒ‰๊น”(image[rowBegin][colBegin])์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค. N != 1์ด๋ผ๋ฉด, ํ˜„์žฌ ์‚ฌ๊ฐ..

๐Ÿค–Algorithm/BOJ 2023. 8. 31. 21:37

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 2630๋ฒˆ: ์ƒ‰์ข…์ด ๋งŒ๋“ค๊ธฐ ์ฒซ์งธ ์ค„์—๋Š” ์ „์ฒด ์ข…์ด์˜ ํ•œ ๋ณ€์˜ ๊ธธ์ด N์ด ์ฃผ์–ด์ ธ ์žˆ๋‹ค. N์€ 2, 4, 8, 16, 32, 64, 128 ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์ƒ‰์ข…์ด์˜ ๊ฐ ๊ฐ€๋กœ์ค„์˜ ์ •์‚ฌ๊ฐํ˜•์นธ๋“ค์˜ ์ƒ‰์ด ์œ—์ค„๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์ค„๊นŒ์ง€ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๐Ÿง‘๐Ÿป‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๋งจ ์ฒ˜์Œ์—๋Š” \( N \times N \) ํฌ๊ธฐ์˜ ์ƒ‰์ข…์ด๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ์ฃผ์–ด์ง„ ์ •์‚ฌ๊ฐํ˜• ๋‚ด์˜ ์ƒ‰๊น”๋“ค์ด ๋ชจ๋‘ ๊ฐ™์€ ์ƒ‰๊น”์ธ์ง€๋ฅผ ๋ณผ ๊ฒ๋‹ˆ๋‹ค. ์ด ๋•Œ, ์„ ํƒ์ง€๋Š” ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฃผ์–ด์ง„ ๋ฒ”์œ„ ๋‚ด์˜ ์ƒ‰๊น”์ด ๋ชจ๋‘ ๊ฐ™์€๊ฐ€? \( \rightarrow \) ํ•ด๋‹น ์ƒ‰๊น” ๊ฐœ์ˆ˜ +1ํ•˜๊ณ , ์ข…๋ฃŒ ์ƒ‰๊น”์ด ๊ฐ™์ง€ ์•Š์€๊ฐ€? \( \rightarrow \) ์ฃผ์–ด์ง„ ๋ฒ”์œ„์˜ ์‚ฌ๊ฐํ˜•์„ 4๋“ฑ๋ถ„ํ•˜์—ฌ ๋‹ค์‹œ ํƒ์ƒ‰ ์‹œ์ž‘ ์ •์‚ฌ๊ฐํ˜• ํƒ์ƒ‰์€ ๋งจ..

๐Ÿค–Algorithm/BOJ 2023. 8. 31. 20:31