๋ชฉ๋กTwo Pointer (2)

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