ALGORITHM ๐Ÿค–/Baekjoon

๋ฐฑ์ค€
๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/20546 20546๋ฒˆ: ๐Ÿœ ๊ธฐ์ ์˜ ๋งค๋งค๋ฒ• ๐Ÿœ 1์›” 14์ผ ๊ธฐ์ค€ ์ค€ํ˜„์ด์˜ ์ž์‚ฐ์ด ๋” ํฌ๋‹ค๋ฉด "BNP"๋ฅผ, ์„ฑ๋ฏผ์ด์˜ ์ž์‚ฐ์ด ๋” ํฌ๋‹ค๋ฉด "TIMING"์„ ์ถœ๋ ฅํ•œ๋‹ค. ๋‘˜์˜ ์ž์‚ฐ์ด ๊ฐ™๋‹ค๋ฉด "SAMESAME"์„ ์ถœ๋ ฅํ•œ๋‹ค. ๋ชจ๋“  ๊ฒฐ๊ณผ ๋”ฐ์˜ดํ‘œ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ํ’€๊ธฐ ์ „์— ์•„์ด๋””์–ด ๊ธฐ์ ์˜ ๋งค๋งค๋ฒ• ๋ฌธ์ œ๋Š” ์ค€ํ˜„์ด์™€ ์„ฑ๋ฏผ์ด์˜ ๊ฐ ๋งค๋งค๋ฒ•์ธ BNP, Timing ์ค‘ ์–ด๋–ค ๋ฐฉ๋ฒ•์ด ๋” ์ˆ˜์ต๋ฅ ์ด ๋†’์€ ์ง€๋ฅผ ๋”ฐ์ ธ๋ณด๋Š” ๋ฌธ์ œ์˜€๋‹ค. ์ฃผ์‹์€ ํ•˜๋‚˜๋กœ ์ •ํ•ด์ ธ์žˆ๊ณ , ํ˜„๊ธˆ๊ณผ 14์ผ ๋™์•ˆ์˜ ์ฃผ๊ฐ€๋ฅผ ์ž…๋ ฅ๋ฐ›์•„์„œ ๋” ์ˆ˜์ต์ด ๋†’์€ ๋งค๋งค๋ฒ•์„ ์ถœ๋ ฅํ•˜๊ณ  ๊ฐ™์œผ๋ฉด ๊ฐ™๋‹ค๊ณ  ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์ƒ๋‹นํžˆ ๊ธธ์–ด์„œ ๋‚œ๋…์ฆ ์™€๊ฐ€์ง€๊ณ  ํ•˜.. ์ด๊ฒŒ ๋ญ” ์†Œ๋ฆฐ์ง€ ์ดํ•ดํ•˜๋Š”์ง€ ์ข€ ๊ฑธ๋ ธ๋‹ค..
๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/2309 2309๋ฒˆ: ์ผ๊ณฑ ๋‚œ์Ÿ์ด ์•„ํ™‰ ๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๋‚œ์Ÿ์ด๋“ค์˜ ํ‚ค๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ํ‚ค๋Š” 100์„ ๋„˜์ง€ ์•Š๋Š” ์ž์—ฐ์ˆ˜์ด๋ฉฐ, ์•„ํ™‰ ๋‚œ์Ÿ์ด์˜ ํ‚ค๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๋ฉฐ, ๊ฐ€๋Šฅํ•œ ์ •๋‹ต์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€์ธ ๊ฒฝ์šฐ์—๋Š” ์•„๋ฌด๊ฑฐ๋‚˜ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ํ’€๊ธฐ ์ „์— ์•„์ด๋””์–ด ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์ •๋ณด๋Š” ์ผ๊ณฑ ๋‚œ์Ÿ์ด์˜ ํ‚ค๋Š” ๋ฌด์กฐ๊ฑด 100์ด๋ผ๋Š” ๊ฒƒ, ์ž…๋ ฅ์€ ๋‚œ์Ÿ์ด๋“ค์˜ ๊ฐ ํ‚ค๋ฅผ ์•„ํ™‰ ๋ฒˆ ์ž…๋ ฅ๋ฐ›์•„์•ผ ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. -> ์ด๋Ÿฌ๋ฉด ์•„ํ™‰ ๋‚œ์Ÿ์ด๋“ค์˜ ํ‚ค๋ฅผ ๋‹ค ๋”ํ•œ๋‹ค๋ฉด 100์ด ๋‹น์—ฐํžˆ ๋„˜๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ˆœ์ฐจ์ ์œผ๋กœ ๋”ํ–ˆ์„ ๋•Œ ์–ธ์ œ 100์ด ๋˜๋Š”์ง€๋ฅผ ์•Œ์•„์•ผ ํ• ํƒ ๋ฐ.. ์•ฝ๊ฐ„ ๊ฐ์ด ์˜ค๋Š” ๋“ฏ ์•ˆ ์˜ค๋Š” ๋“ฏํ–ˆ๋‹ค. ๋งŒ์•ฝ ์ •๋ ฌ์„ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์ •๋ ฌ ํ›„, ..
๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/2460 2460๋ฒˆ: ์ง€๋Šฅํ˜• ๊ธฐ์ฐจ 2 ์ตœ๊ทผ์— ๊ฐœ๋ฐœ๋œ ์ง€๋Šฅํ˜• ๊ธฐ์ฐจ๊ฐ€ 1๋ฒˆ์—ญ(์ถœ๋ฐœ์—ญ)๋ถ€ํ„ฐ 10๋ฒˆ์—ญ(์ข…์ฐฉ์—ญ)๊นŒ์ง€ 10๊ฐœ์˜ ์ •์ฐจ์—ญ์ด ์žˆ๋Š” ๋…ธ์„ ์—์„œ ์šดํ–‰๋˜๊ณ  ์žˆ๋‹ค. ์ด ๊ธฐ์ฐจ์—๋Š” ํƒ€๊ฑฐ๋‚˜ ๋‚ด๋ฆฌ๋Š” ์‚ฌ๋žŒ ์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์น˜๊ฐ€ ์žˆ๋‹ค. www.acmicpc.net ํ’€๊ธฐ ์ „์— ์•„์ด๋””์–ด ๊ธฐ์ฐจ๋Š” ์ด 10๊ฐœ์˜ ์ •์ฐจ์—ญ์ด ์žˆ๋Š” ๋…ธ์„ ์—์„œ ์šดํ–‰๋˜๊ณ  ์žˆ๋‹ค. -> for๋ฌธ์œผ๋กœ 10๋ฒˆ ๋Œ๋ ค์„œ ๋‚ด๋ฆฌ๊ณ  ํƒ„ ์‚ฌ๋žŒ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„์•ผ๊ฒ ๋‹ค. ๋‚ด๋ฆด ์‚ฌ๋žŒ์ด ๋ชจ๋‘ ๋‚ด๋ฆฌ๊ณ  ํƒ„๋‹ค. -> ์–ด์จŒ๋“  ํ•œ ์—ญ์—์„œ (ํƒ„ ์‚ฌ๋žŒ ์ˆ˜ - ๋‚ด๋ฆฐ ์‚ฌ๋žŒ ์ˆ˜)๋ฅผ ์ฒดํฌํ•˜๋ฉด ๋˜๊ฒ ๋‹ค. ์—ญ ๋ฒˆํ˜ธ ์ˆœ์„œ๋Œ€๋กœ ์šดํ–‰๋œ๋‹ค. -> ์ž…๋ ฅ๋ฐ›์€ ์ˆœ์„œ๋Œ€๋กœ ๊ธฐ์ฐจ์— ํƒ„ ์‚ฌ๋žŒ์ด ๋ช‡ ๋ช…์ธ์ง€ ์„ธ๋ณด์ž. ๊ธฐ์ฐจ์— ์‚ฌ๋žŒ์ด ๊ฐ€์žฅ ๋งŽ์„ ๋•Œ์˜ ์‚ฌ๋žŒ ..
๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/14467 14467๋ฒˆ: ์†Œ๊ฐ€ ๊ธธ์„ ๊ฑด๋„ˆ๊ฐ„ ์ด์œ  1 3๋ฒˆ ์†Œ๋Š” ์œ„์น˜ 1, 0, 1์—์„œ ๊ด€์ฐฐ๋˜์—ˆ์œผ๋ฏ€๋กœ ๊ธธ์„ ์ตœ์†Œ ๋‘ ๋ฒˆ ๊ฑด๋„œ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 4๋ฒˆ ์†Œ๋„ ๊ธธ์„ ํ•œ ๋ฒˆ ๊ฑด๋„œ์œผ๋ฉฐ, ๋‚˜๋จธ์ง€ ์†Œ๋Š” ๊ธธ์„ ๊ฑด๋„Œ ๊ธฐ๋ก์ด ํ™•์ธ๋˜์ง€ ์•Š๋Š”๋‹ค. www.acmicpc.net ํ’€๊ธฐ ์ „์— ์•„์ด๋””์–ด ์†Œ์˜ ์œ„์น˜๋Š” 0, 1 ๋‘ ๊ฐœ๋ฟ์ด๋ผ์„œ.. ์†Œ ๋ฒˆํ˜ธ๋งŒํผ ๋ฐฐ์—ด ์ƒ์„ฑํ•œ ํ›„ ์†Œ ๋ฒˆํ˜ธ์— ๋งž๋Š” ์ธ๋ฑ์Šค์— 0 , 1 ๋ฐ”๋€Œ๋Š” ๊ฑฐ ์ฒดํฌํ•ด๋ณด๊ธฐ. ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ œ ๋ณด๋‹ˆ๊นŒ ์†Œ๋“ค ์ค‘์— ์ œ์ผ ์ ๊ฒŒ ๊ฑด๋„Œ ํšŸ์ˆ˜ ๊ตฌํ•˜๋Š” ๊ฒƒ๋„ ์•„๋‹ˆ๊ณ , ๊ทธ๋ƒฅ ์†Œ ๊ฑด๋„Œ ํšŸ์ˆ˜ ๋‹ค ํ•ฉ์ณ์„œ ๊ตฌํ•˜๋Š” ๊ฑฐ๋ผ์„œ ๋ณ„๋กœ ์–ด๋ ต์ง„ ์•Š๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.. ๊ณผ์ • ์ฒ˜์Œ์—” 2์ฐจ์› ๋ฐฐ์—ด์„ ์ƒ์„ฑํ• ๊นŒ ํ–ˆ๋Š”๋ฐ ๊ตฌํ˜„์ด ์‚ฐ์œผ๋กœ ๊ฐ€๋Š” ๊ฒƒ ๊ฐ™์•˜๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ..
[Silver II] ๊ธฐ์ฐจ๊ฐ€ ์–ด๋‘ ์„ ํ—ค์น˜๊ณ  ์€ํ•˜์ˆ˜๋ฅผ - 15787 ๋ฌธ์ œ ๋งํฌ ์„ฑ๋Šฅ ์š”์•ฝ ๋ฉ”๋ชจ๋ฆฌ: 230548 KB, ์‹œ๊ฐ„: 1304 ms ๋ถ„๋ฅ˜ ๋น„ํŠธ๋งˆ์Šคํ‚น, ๊ตฌํ˜„ ๋ฌธ์ œ ์„ค๋ช… N๊ฐœ์˜ ๊ธฐ์ฐจ๊ฐ€ ์–ด๋‘ ์„ ํ—ค์น˜๊ณ  ์€ํ•˜์ˆ˜๋ฅผ ๊ฑด๋„ˆ๋ ค๊ณ  ํ•œ๋‹ค. ๊ธฐ์ฐจ๋Š” 20๊ฐœ์˜ ์ผ๋ ฌ๋กœ ๋œ ์ขŒ์„์ด ์žˆ๊ณ , ํ•œ ๊ฐœ์˜ ์ขŒ์„์—๋Š” ํ•œ ๋ช…์˜ ์‚ฌ๋žŒ์ด ํƒˆ ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ์ฐจ์˜ ๋ฒˆํ˜ธ๋ฅผ 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ์œผ๋กœ ๋งค๊ธธ ๋•Œ, ์–ด๋– ํ•œ ๊ธฐ์ฐจ์— ๋Œ€ํ•˜์—ฌ M๊ฐœ์˜ ๋ช…๋ น์ด ์ฃผ์–ด์ง„๋‹ค. ๋ช…๋ น์˜ ์ข…๋ฅ˜๋Š” 4๊ฐ€์ง€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1 i x : i๋ฒˆ์งธ ๊ธฐ์ฐจ์—(1 ≤ i ≤ N) x๋ฒˆ์งธ ์ขŒ์„์—(1 ≤ x ≤ 20) ์‚ฌ๋žŒ์„ ํƒœ์›Œ๋ผ. ์ด๋ฏธ ์‚ฌ๋žŒ์ด ํƒ€์žˆ๋‹ค๋ฉด , ์•„๋ฌด๋Ÿฐ ํ–‰๋™์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค. 2 i x : i๋ฒˆ์งธ ๊ธฐ์ฐจ์— x๋ฒˆ์งธ ์ขŒ์„์— ์•‰์€ ์‚ฌ๋žŒ์€ ํ•˜์ฐจํ•œ๋‹ค. ๋งŒ์•ฝ ์•„๋ฌด๋„ ๊ทธ์ž๋ฆฌ์— ์•‰์•„์žˆ์ง€ ์•Š์•˜๋‹ค๋ฉด, ์•„๋ฌด๋Ÿฐ ํ–‰..
[Silver II] ์Šคํƒ€ํŠธ์™€ ๋งํฌ - 14889 ๋ฌธ์ œ ๋งํฌ ์„ฑ๋Šฅ ์š”์•ฝ ๋ฉ”๋ชจ๋ฆฌ: 21512 KB, ์‹œ๊ฐ„: 464 ms ๋ถ„๋ฅ˜ ๋ฐฑํŠธ๋ž˜ํ‚น, ๋ธŒ๋ฃจํŠธํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ์„ค๋ช… ์˜ค๋Š˜์€ ์Šคํƒ€ํŠธ๋งํฌ์— ๋‹ค๋‹ˆ๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋ชจ์—ฌ์„œ ์ถ•๊ตฌ๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ถ•๊ตฌ๋Š” ํ‰์ผ ์˜คํ›„์— ํ•˜๊ณ  ์˜๋ฌด ์ฐธ์„๋„ ์•„๋‹ˆ๋‹ค. ์ถ•๊ตฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ์ธ ์‚ฌ๋žŒ์€ ์ด N๋ช…์ด๊ณ  ์‹ ๊ธฐํ•˜๊ฒŒ๋„ N์€ ์ง์ˆ˜์ด๋‹ค. ์ด์ œ N/2๋ช…์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์Šคํƒ€ํŠธ ํŒ€๊ณผ ๋งํฌ ํŒ€์œผ๋กœ ์‚ฌ๋žŒ๋“ค์„ ๋‚˜๋ˆ ์•ผ ํ•œ๋‹ค. BOJ๋ฅผ ์šด์˜ํ•˜๋Š” ํšŒ์‚ฌ ๋‹ต๊ฒŒ ์‚ฌ๋žŒ์—๊ฒŒ ๋ฒˆํ˜ธ๋ฅผ 1๋ถ€ํ„ฐ N๊นŒ์ง€๋กœ ๋ฐฐ์ •ํ–ˆ๊ณ , ์•„๋ž˜์™€ ๊ฐ™์€ ๋Šฅ๋ ฅ์น˜๋ฅผ ์กฐ์‚ฌํ–ˆ๋‹ค. ๋Šฅ๋ ฅ์น˜ Sij๋Š” i๋ฒˆ ์‚ฌ๋žŒ๊ณผ j๋ฒˆ ์‚ฌ๋žŒ์ด ๊ฐ™์€ ํŒ€์— ์†ํ–ˆ์„ ๋•Œ, ํŒ€์— ๋”ํ•ด์ง€๋Š” ๋Šฅ๋ ฅ์น˜์ด๋‹ค. ํŒ€์˜ ๋Šฅ๋ ฅ์น˜๋Š” ํŒ€์— ์†ํ•œ ๋ชจ๋“  ์Œ์˜ ๋Šฅ๋ ฅ์น˜ Sij์˜ ํ•ฉ์ด๋‹ค. Sij๋Š” Sji์™€ ๋‹ค๋ฅผ ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ..
[Silver II] ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ - 17276 ๋ฌธ์ œ ๋งํฌ ์„ฑ๋Šฅ ์š”์•ฝ ๋ฉ”๋ชจ๋ฆฌ: 219524 KB, ์‹œ๊ฐ„: 6124 ms ๋ถ„๋ฅ˜ ๊ตฌํ˜„ ๋ฌธ์ œ ์„ค๋ช… ํฌ๊ธฐ๊ฐ€ n x n์ธ 2์ฐจ์› ์ •์ˆ˜ ๋ฐฐ์—ด X๊ฐ€ ์žˆ๋‹ค. (n์€ ํ™€์ˆ˜) X๋ฅผ 45° ์˜ ๋ฐฐ์ˆ˜๋งŒํผ ์‹œ๊ณ„๋ฐฉํ–ฅ ํ˜น์€ ๋ฐ˜์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ๋Œ๋ฆฌ๋ ค๊ณ  ํ•œ๋‹ค. X๋ฅผ ์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ 45° ๋Œ๋ฆฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์—ฐ์‚ฐ์ด ๋™์‹œ์— X์— ์ ์šฉ๋˜์–ด์•ผ ํ•œ๋‹ค: X์˜ ์ฃผ ๋Œ€๊ฐ์„ ์„ ((1,1), (2,2), …, (n, n)) ๊ฐ€์šด๋ฐ ์—ด ((n+1)/2 ๋ฒˆ์งธ ์—ด)๋กœ ์˜ฎ๊ธด๋‹ค. X์˜ ๊ฐ€์šด๋ฐ ์—ด์„ X์˜ ๋ถ€ ๋Œ€๊ฐ์„ ์œผ๋กœ ((n, 1), (n-1, 2), …, (1, n)) ์˜ฎ๊ธด๋‹ค. X์˜ ๋ถ€ ๋Œ€๊ฐ์„ ์„ X์˜ ๊ฐ€์šด๋ฐ ํ–‰ ((n+1)/2๋ฒˆ์งธ ํ–‰)์œผ๋กœ ์˜ฎ๊ธด๋‹ค. X์˜ ๊ฐ€์šด๋ฐ ํ–‰์„ X์˜ ์ฃผ ๋Œ€๊ฐ์„ ์œผ๋กœ ์˜ฎ๊ธด๋‹ค. ์œ„ ๋„ค ๊ฐ€์ง€ ๊ฒฝ์šฐ ๋ชจ๋‘..
daxx0ne
'ALGORITHM ๐Ÿค–/Baekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก