๋ชฉ๋ก์ „์ฒด ๊ธ€ (89)

SJ_Koding

๋ฐฑ์ค€ 1644: ์†Œ์ˆ˜์˜ ์—ฐ์†ํ•ฉ (๊ณจ๋“œ III) - ํˆฌ ํฌ์ธํ„ฐ, ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด

์†Œ์ˆ˜์™€ ๊ฒฐํ•ฉ๋œ ํˆฌํฌ์ธํ„ฐ๋ฌธ์ œ์ด๋‹ค. ์—ฐ์†๋œ ์ˆ˜๋ฅผ ์ฐพ์œผ๋ฏ€๋กœ ๋‘ ๊ฐœ์˜ ํฌ์ธํ„ฐ๋Š” 0์—์„œ ์‹œ์ž‘ํ•œ๋‹ค๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ํŒ๋‹จํ•ด๋„ ๋  ๊ฒƒ๊ฐ™๋‹ค. 1644๋ฒˆ: ์†Œ์ˆ˜์˜ ์—ฐ์†ํ•ฉ ์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 4,000,000) www.acmicpc.net ๋ฌธ์ œ ์š”์•ฝ: N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์—ฐ์†๋œ ์†Œ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ํ•ฉ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ์•„๋ผ! 3 : 3 (ํ•œ ๊ฐ€์ง€) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (์„ธ ๊ฐ€์ง€) 53 : 5+7+11+13+17 = 53 (๋‘ ๊ฐ€์ง€) 20: 7 + 13 ์€ ์•ˆ๋จ! ์—ฐ์†๋œ ์†Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ. = 0๊ฐ€์ง€ ์†”๋ฃจ์…˜: 1. ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋กœ ์†Œ์ˆ˜ ๋ฐฐ์—ด์„ ๋งŒ๋“ ๋‹ค. ๋ฒ”์œ„๋Š” ์ตœ๋Œ€ 400๋งŒ์œผ๋กœ ์ฃผ์–ด์กŒ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์†Œ์ˆ˜ํŒ๋ณ„(O(N^2))๋กœ ๊ตฌํ•  ์ˆ˜ ์—†๋‹ค. 2. ๋‘ ๊ฐœ์˜ ํฌ์ธํ„ฐ(..

Algorithm/Two-Pointer 2024. 2. 6. 11:38
๋ฐฑ์ค€ 2470: ๋‘ ์šฉ์•ก (๊ณจ๋“œ V) - ํˆฌํฌ์ธํ„ฐ

๊ธฐ์—… ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ์—์„œ ํˆฌํฌ์ธํ„ฐ ๋ฌธ์ œ๊ฐ€ ๋‚˜์™”์—ˆ๋Š”๋ฐ, ์ข…๋ฃŒ์กฐ๊ฑด์„ ๊ฑด๋“œ๋ฆฌ๋‹ค๊ฐ€ ์‹œ๊ฐ„์„ ๋„˜๊ฒจ๋ฒ„๋ ธ๋‹ค. ํˆฌํฌ์ธํ„ฐ์˜ ๊ฐœ๋…์„ ์ด๋ก ์ ์œผ๋กœ ์•Œ๊ณ ๋Š” ์žˆ์—ˆ์ง€๋งŒ ์‹ค์ œ ํˆฌํฌ์ธํ„ฐ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณธ ์ ์€ ๊ฑฐ์˜ ์—†๋‹ค. ์ด ์ฐธ์— ๊ณต๋ถ€ํ•ด๋ณด์ž. 2470๋ฒˆ: ๋‘ ์šฉ์•ก ์ฒซ์งธ ์ค„์—๋Š” ์ „์ฒด ์šฉ์•ก์˜ ์ˆ˜ N์ด ์ž…๋ ฅ๋œ๋‹ค. N์€ 2 ์ด์ƒ 100,000 ์ดํ•˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์šฉ์•ก์˜ ํŠน์„ฑ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋“ค์€ ๋ชจ๋‘ -1,000,000,000 ์ด์ƒ 1,000,00 www.acmicpc.net ๋ฌธ์ œ์š”์•ฝ ์ฃผ์–ด์ง„ ๋ฆฌ์ŠคํŠธ์—์„œ ๋‘ ์›์†Œ์˜ ํ•ฉ์ด 0๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์›์†Œ๋ฅผ ์ฐพ๋Š”๊ฒƒ์ด๋‹ค. ์›์†Œ์˜ ๋ฒ”์œ„๋Š” -10์–ต ~ 10์–ต ์ด๋ฉฐ, ์›์†Œ์˜ ๊ฐœ์ˆ˜๋Š” ์ตœ๋Œ€ 10๋งŒ๊ฐœ ์ด๋ฏ€๋กœ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” O(N^2)์œผ๋กœ ํ’€์–ด๋‚ผ ์ˆ˜ ์—†๋‹ค. ์ด..

Algorithm/Two-Pointer 2024. 2. 6. 11:26
๋ฐฑ์ค€ 14502: ์—ฐ๊ตฌ์†Œ (๊ณจ๋“œ IV) - BFS + ๋ธŒ๋ฃจํŠธํฌ์Šค

๋ฌธ์ œ์š”์•ฝ: ์—ฐ๊ตฌ์†Œ์— ์ƒ,ํ•˜,์ขŒ,์šฐ๋กœ ๋์—†์ด ํผ์ง€๋Š” ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์žˆ๊ณ  ์ด๋ฅผ ๋ง‰๋Š” ๋ฒฝ๋“ค์ด ์žˆ๋Š”๋ฐ. ๋นˆ ๊ณต๊ฐ„์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด ๋ฒฝ 3๊ฐœ๋ฅผ ์ž„์˜๋กœ ์„ธ์› ์„ ๋•Œ, ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์นจํˆฌํ•˜์ง€ ๋ชปํ•˜๋Š” ์•ˆ์ „์˜์—ญ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ ๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ ๋ดค์„๋•Œ ๋ง‰๋ง‰ํ–ˆ์ง€๋งŒ, ์ฃผ์–ด์ง€๋Š” ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ๋ณด๊ณ  ๋ธŒ๋ฃจํŠธํฌ์Šค๋กœ ํ’€์–ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ํ™•์‹ ์ด ๋“ค์—ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์‚ดํŽด๋ณด์ž. ๋ฌธ์ œ ์ธ์ฒด์— ์น˜๋ช…์ ์ธ ๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ์—ฐ๊ตฌํ•˜๋˜ ์—ฐ๊ตฌ์†Œ์—์„œ ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์œ ์ถœ๋˜์—ˆ๋‹ค. ๋‹คํ–‰ํžˆ ๋ฐ”์ด๋Ÿฌ์Šค๋Š” ์•„์ง ํผ์ง€์ง€ ์•Š์•˜๊ณ , ๋ฐ”์ด๋Ÿฌ์Šค์˜ ํ™•์‚ฐ์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ ์—ฐ๊ตฌ์†Œ์— ๋ฒฝ์„ ์„ธ์šฐ๋ ค๊ณ  ํ•œ๋‹ค. ์—ฐ๊ตฌ์†Œ๋Š” ํฌ๊ธฐ๊ฐ€ N×M์ธ ์ง์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ง์‚ฌ๊ฐํ˜•์€ 1×1 ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ์—ฐ๊ตฌ์†Œ๋Š” ๋นˆ ์นธ, ๋ฒฝ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๋ฒฝ์€ ์นธ ํ•˜๋‚˜๋ฅผ ๊ฐ€๋“ ์ฐจ์ง€ํ•œ๋‹ค. ์ผ๋ถ€ ์นธ์€ ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€..

Algorithm/Graph 2024. 2. 2. 11:04
๋ฐฑ์ค€ 7576, 7569: ํ† ๋งˆํ†  (๊ณจ๋“œ V) - N์ฐจ์› BFS

BFS๋ฅผ ์—ฐ์Šตํ•˜๊ธฐ ์ข‹์€ ๋ฌธ์ œ. ๊ธฐ๋ณธ์ ์ธ BFS์—์„œ ํ•œ ๊ฐ€์ง€ ์ถ”๊ฐ€ํ•ด์•ผํ•  ์ ์ด ์žˆ๋‹ค. ๋ฌธ์ œ๋ถ€ํ„ฐ ์‚ดํŽด๋ณด์ž. ๋ฌธ์ œ ์ฒ ์ˆ˜์˜ ํ† ๋งˆํ†  ๋†์žฅ์—์„œ๋Š” ํ† ๋งˆํ† ๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ํฐ ์ฐฝ๊ณ ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ† ๋งˆํ† ๋Š” ์•„๋ž˜์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๊ฒฉ์ž ๋ชจ์–‘ ์ƒ์ž์˜ ์นธ์— ํ•˜๋‚˜์”ฉ ๋„ฃ์–ด์„œ ์ฐฝ๊ณ ์— ๋ณด๊ด€ํ•œ๋‹ค. ์ฐฝ๊ณ ์— ๋ณด๊ด€๋˜๋Š” ํ† ๋งˆํ† ๋“ค ์ค‘์—๋Š” ์ž˜ ์ต์€ ๊ฒƒ๋„ ์žˆ์ง€๋งŒ, ์•„์ง ์ต์ง€ ์•Š์€ ํ† ๋งˆํ† ๋“ค๋„ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ๋ณด๊ด€ ํ›„ ํ•˜๋ฃจ๊ฐ€ ์ง€๋‚˜๋ฉด, ์ต์€ ํ† ๋งˆํ† ๋“ค์˜ ์ธ์ ‘ํ•œ ๊ณณ์— ์žˆ๋Š” ์ต์ง€ ์•Š์€ ํ† ๋งˆํ† ๋“ค์€ ์ต์€ ํ† ๋งˆํ† ์˜ ์˜ํ–ฅ์„ ๋ฐ›์•„ ์ต๊ฒŒ ๋œ๋‹ค. ํ•˜๋‚˜์˜ ํ† ๋งˆํ† ์˜ ์ธ์ ‘ํ•œ ๊ณณ์€ ์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ, ์•ž, ๋’ค ๋„ค ๋ฐฉํ–ฅ์— ์žˆ๋Š” ํ† ๋งˆํ† ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋Œ€๊ฐ์„  ๋ฐฉํ–ฅ์— ์žˆ๋Š” ํ† ๋งˆํ† ๋“ค์—๊ฒŒ๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ๋ชปํ•˜๋ฉฐ, ํ† ๋งˆํ† ๊ฐ€ ํ˜ผ์ž ์ €์ ˆ๋กœ ์ต๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ์ฒ ์ˆ˜๋Š” ์ฐฝ๊ณ ์— ๋ณด๊ด€๋œ ํ† ๋งˆํ† ๋“ค์ด ๋ฉฐ์น ์ด..

Algorithm/Graph 2024. 2. 2. 09:42
๋ฐฑ์ค€ 5430: AC (๊ณจ๋“œ V) - ์—ฐ์‚ฐ ์ตœ์†Œํ™” ๋ฐฉ๋ฒ•๋ก 

๋ฌธ์ œ ์ž์ฒด๊ฐ€ ์ดํ•ดํ•˜๊ธฐ๋„ ์‰ฝ๊ณ  ๊ตฌํ˜„ํ•˜๊ธฐ๋„ ์‰ฝ์ง€๋งŒ, ๊ณจ๋“œ ๋ฌธ์ œ์ด๋‹ค? ๊ทธ๋ ‡๋‹ค๋ฉด ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ํ’€ ์ˆ˜ ์—†๋‹ค๋ผ๋Š” ๋œป์œผ๋กœ ๋ฐ›์•„๋“ค์ด๋ฉด ๋œ๋‹ค. ๋ฌธ์ œ๋ฅผ ์‚ดํŽด๋ณด์ž. https://www.acmicpc.net/problem/5430 5430๋ฒˆ: AC ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด์„œ, ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ •์ˆ˜ ๋ฐฐ์—ด์— ํ•จ์ˆ˜๋ฅผ ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ, ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ์—๋Š” error๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งžํžŒ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ 1 ์ดˆ 256 MB 139725 31379 22175 20.074% ๋ฌธ์ œ ์„ ์˜์ด๋Š” ์ฃผ๋ง์— ํ•  ์ผ์ด ์—†์–ด์„œ ์ƒˆ๋กœ์šด ์–ธ์–ด AC๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. AC๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด์— ์—ฐ์‚ฐ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ์–ธ์–ด์ด๋‹ค. ์ด ์–ธ์–ด์—๋Š” ๋‘ ๊ฐ€์ง€ ํ•จ์ˆ˜ R(๋’ค์ง‘๊ธฐ)๊ณผ D(๋ฒ„๋ฆฌ๊ธฐ)๊ฐ€ ์žˆ๋‹ค..

Algorithm 2024. 1. 30. 19:22