๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€110

[Java] BOJ 9372 ์ƒ๊ทผ์ด์˜ ์—ฌํ–‰ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/9372์ƒ๊ทผ์ด๋Š” ๊ฒจ์šธ๋ฐฉํ•™์„ ๋งž์•„ N๊ฐœ๊ตญ์„ ์—ฌํ–‰ํ•˜๋ฉด์„œ ์ž์•„๋ฅผ ์ฐพ๊ธฐ๋กœ ๋งˆ์Œ๋จน์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ƒ๊ทผ์ด๋Š” ์ƒˆ๋กœ์šด ๋น„ํ–‰๊ธฐ๋ฅผ ๋ฌด์„œ์›Œํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ตœ๋Œ€ํ•œ ์ ์€ ์ข…๋ฅ˜์˜ ๋น„ํ–‰๊ธฐ๋ฅผ ํƒ€๊ณ  ๊ตญ๊ฐ€๋“ค์„ ์ด๋™ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋ฒˆ ๋ฐฉํ•™ ๋™์•ˆ์˜ ๋น„ํ–‰ ์Šค์ผ€์ค„์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์žฅ ์ ์€ ์ข…๋ฅ˜์˜ ๋น„ํ–‰๊ธฐ๋ฅผ ํƒ€๊ณ  ๋ชจ๋“  ๊ตญ๊ฐ€๋“ค์„ ์—ฌํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ์ž. ์ƒ๊ทผ์ด๊ฐ€ ํ•œ ๊ตญ๊ฐ€์—์„œ ๋‹ค๋ฅธ ๊ตญ๊ฐ€๋กœ ์ด๋™ํ•  ๋•Œ ๋‹ค๋ฅธ ๊ตญ๊ฐ€๋ฅผ ๊ฑฐ์ณ ๊ฐ€๋„(์‹ฌ์ง€์–ด ์ด๋ฏธ ๋ฐฉ๋ฌธํ•œ ๊ตญ๊ฐ€๋ผ๋„) ๋œ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ˆ˜ T(T โ‰ค 100)๊ฐ€ ์ฃผ์–ด์ง€๊ณ , ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ๊ตญ๊ฐ€์˜ ์ˆ˜ N(2 โ‰ค N โ‰ค 1 000)๊ณผ ๋น„ํ–‰๊ธฐ์˜ ์ข…๋ฅ˜ M(1 โ‰ค M .. 2024. 12. 29.
[Java] BOJ 5639 ์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/5639์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ธ ๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ด์ง„ ํŠธ๋ฆฌ์ด๋‹ค.๋…ธ๋“œ์˜ ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ๋…ธ๋“œ์˜ ํ‚ค๋Š” ๋…ธ๋“œ์˜ ํ‚ค๋ณด๋‹ค ์ž‘๋‹ค.๋…ธ๋“œ์˜ ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ๋…ธ๋“œ์˜ ํ‚ค๋Š” ๋…ธ๋“œ์˜ ํ‚ค๋ณด๋‹ค ํฌ๋‹ค.์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ๋„ ์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ์ด๋‹ค.์ „์œ„ ์ˆœํšŒ (๋ฃจํŠธ-์™ผ์ชฝ-์˜ค๋ฅธ์ชฝ)์€ ๋ฃจํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•˜๊ณ , ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ, ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒ ํŠธ๋ฆฌ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฉ๋ฌธํ•˜๋ฉด์„œ ๋…ธ๋“œ์˜ ํ‚ค๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ํ›„์œ„ ์ˆœํšŒ (์™ผ์ชฝ-์˜ค๋ฅธ์ชฝ-๋ฃจํŠธ)๋Š” ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ, ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ, ๋ฃจํŠธ ๋…ธ๋“œ ์ˆœ์„œ๋Œ€๋กœ ํ‚ค๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์œ„์˜ ์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ์˜ ์ „์œ„ ์ˆœํšŒ ๊ฒฐ๊ณผ๋Š” 50 30 24 5 28 45 98 52 60 ์ด๊ณ , ํ›„์œ„ ์ˆœํšŒ ๊ฒฐ๊ณผ๋Š” 5 28 24 45 30.. 2024. 12. 29.
[Java] BOJ 1068 ํŠธ๋ฆฌ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/1068ํŠธ๋ฆฌ์—์„œ ๋ฆฌํ”„ ๋…ธ๋“œ๋ž€, ์ž์‹์˜ ๊ฐœ์ˆ˜๊ฐ€ 0์ธ ๋…ธ๋“œ๋ฅผ ๋งํ•œ๋‹ค.ํŠธ๋ฆฌ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋…ธ๋“œ ํ•˜๋‚˜๋ฅผ ์ง€์šธ ๊ฒƒ์ด๋‹ค. ๊ทธ ๋•Œ, ๋‚จ์€ ํŠธ๋ฆฌ์—์„œ ๋ฆฌํ”„ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋…ธ๋“œ๋ฅผ ์ง€์šฐ๋ฉด ๊ทธ ๋…ธ๋“œ์™€ ๋…ธ๋“œ์˜ ๋ชจ๋“  ์ž์†์ด ํŠธ๋ฆฌ์—์„œ ์ œ๊ฑฐ๋œ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠธ๋ฆฌ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž.ํ˜„์žฌ ๋ฆฌํ”„ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋Š” 3๊ฐœ์ด๋‹ค. (์ดˆ๋ก์ƒ‰ ์ƒ‰์น ๋œ ๋…ธ๋“œ) ์ด๋•Œ, 1๋ฒˆ์„ ์ง€์šฐ๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€ํ•œ๋‹ค. ๊ฒ€์ •์ƒ‰์œผ๋กœ ์ƒ‰์น ๋œ ๋…ธ๋“œ๊ฐ€ ํŠธ๋ฆฌ์—์„œ ์ œ๊ฑฐ๋œ ๋…ธ๋“œ์ด๋‹ค.์ด์ œ ๋ฆฌํ”„ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜๋Š” 1๊ฐœ์ด๋‹ค.์ฒซ์งธ ์ค„์— ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” 0๋ฒˆ ๋…ธ๋“œ๋ถ€ํ„ฐ N-1๋ฒˆ ๋…ธ๋“œ๊นŒ์ง€, ๊ฐ ๋…ธ๋“œ์˜ ๋ถ€๋ชจ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.. 2024. 12. 24.
[Java] BOJ 1167 ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/1167ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„์ด๋ž€, ํŠธ๋ฆฌ์—์„œ ์ž„์˜์˜ ๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ ์ค‘ ๊ฐ€์žฅ ๊ธด ๊ฒƒ์„ ๋งํ•œ๋‹ค. ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.ํŠธ๋ฆฌ๊ฐ€ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ๋จผ์ € ์ฒซ ๋ฒˆ์งธ ์ค„์—์„œ๋Š” ํŠธ๋ฆฌ์˜ ์ •์ ์˜ ๊ฐœ์ˆ˜ V๊ฐ€ ์ฃผ์–ด์ง€๊ณ  (2 โ‰ค V โ‰ค 100,000)๋‘˜์งธ ์ค„๋ถ€ํ„ฐ V๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๊ฐ„์„ ์˜ ์ •๋ณด๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฃผ์–ด์ง„๋‹ค. ์ •์  ๋ฒˆํ˜ธ๋Š” 1๋ถ€ํ„ฐ V๊นŒ์ง€ ๋งค๊ฒจ์ ธ ์žˆ๋‹ค.๋จผ์ € ์ •์  ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง€๊ณ , ์ด์–ด์„œ ์—ฐ๊ฒฐ๋œ ๊ฐ„์„ ์˜ ์ •๋ณด๋ฅผ ์˜๋ฏธํ•˜๋Š” ์ •์ˆ˜๊ฐ€ ๋‘ ๊ฐœ์”ฉ ์ฃผ์–ด์ง€๋Š”๋ฐ, ํ•˜๋‚˜๋Š” ์ •์ ๋ฒˆํ˜ธ, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๊ทธ ์ •์ ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋„ค ๋ฒˆ์งธ ์ค„์˜ ๊ฒฝ์šฐ ์ •์  3์€ ์ •์  1๊ณผ ๊ฑฐ๋ฆฌ๊ฐ€ 2์ธ ๊ฐ„์„ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ณ , ์ •์  4์™€๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ 3์ธ ๊ฐ„์„ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”.. 2024. 12. 23.
[Java] BOJ 13549 ์ˆจ๋ฐ”๊ผญ์งˆ 3 ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/11723์ˆ˜๋นˆ์ด๋Š” ๋™์ƒ๊ณผ ์ˆจ๋ฐ”๊ผญ์งˆ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ํ˜„์žฌ ์  N(0 โ‰ค N โ‰ค 100,000)์— ์žˆ๊ณ , ๋™์ƒ์€ ์  K(0 โ‰ค K โ‰ค 100,000)์— ์žˆ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ๊ฑท๊ฑฐ๋‚˜ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๊ฐ€ X์ผ ๋•Œ ๊ฑท๋Š”๋‹ค๋ฉด 1์ดˆ ํ›„์— X-1 ๋˜๋Š” X+1๋กœ ์ด๋™ํ•˜๊ฒŒ ๋œ๋‹ค. ์ˆœ๊ฐ„์ด๋™์„ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” 0์ดˆ ํ›„์— 2*X์˜ ์œ„์น˜๋กœ ์ด๋™ํ•˜๊ฒŒ ๋œ๋‹ค. ์ˆ˜๋นˆ์ด์™€ ๋™์ƒ์˜ ์œ„์น˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ˆ˜๋นˆ์ด๊ฐ€ ๋™์ƒ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ๊ฐ„์ด ๋ช‡ ์ดˆ ํ›„์ธ์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ฒซ ๋ฒˆ์งธ ์ค„์— ์ˆ˜๋นˆ์ด๊ฐ€ ์žˆ๋Š” ์œ„์น˜ N๊ณผ ๋™์ƒ์ด ์žˆ๋Š” ์œ„์น˜ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. N๊ณผ K๋Š” ์ •์ˆ˜์ด๋‹ค. ์ˆ˜๋นˆ์ด๊ฐ€ ๋™์ƒ์„ ์ฐพ๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•œ๋‹ค... 2024. 12. 23.
[Java] BOJ 1967 ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/1967ํŠธ๋ฆฌ(tree)๋Š” ์‚ฌ์ดํด์ด ์—†๋Š” ๋ฌด๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์ด๋‹ค. ํŠธ๋ฆฌ์—์„œ๋Š” ์–ด๋–ค ๋‘ ๋…ธ๋“œ๋ฅผ ์„ ํƒํ•ด๋„ ๋‘˜ ์‚ฌ์ด์— ๊ฒฝ๋กœ๊ฐ€ ํ•ญ์ƒ ํ•˜๋‚˜๋งŒ ์กด์žฌํ•˜๊ฒŒ ๋œ๋‹ค. ํŠธ๋ฆฌ์—์„œ ์–ด๋–ค ๋‘ ๋…ธ๋“œ๋ฅผ ์„ ํƒํ•ด์„œ ์–‘์ชฝ์œผ๋กœ ์ซ™ ๋‹น๊ธธ ๋•Œ, ๊ฐ€์žฅ ๊ธธ๊ฒŒ ๋Š˜์–ด๋‚˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด๋Ÿด ๋•Œ ํŠธ๋ฆฌ์˜ ๋ชจ๋“  ๋…ธ๋“œ๋“ค์€ ์ด ๋‘ ๋…ธ๋“œ๋ฅผ ์ง€๋ฆ„์˜ ๋ ์ ์œผ๋กœ ํ•˜๋Š” ์› ์•ˆ์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค.์ด๋Ÿฐ ๋‘ ๋…ธ๋“œ ์‚ฌ์ด์˜ ๊ฒฝ๋กœ์˜ ๊ธธ์ด๋ฅผ ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ •ํ™•ํžˆ ์ •์˜ํ•˜์ž๋ฉด ํŠธ๋ฆฌ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๊ฒฝ๋กœ๋“ค ์ค‘์—์„œ ๊ฐ€์žฅ ๊ธด ๊ฒƒ์˜ ๊ธธ์ด๋ฅผ ๋งํ•œ๋‹ค.์ž…๋ ฅ์œผ๋กœ ๋ฃจํŠธ๊ฐ€ ์žˆ๋Š” ํŠธ๋ฆฌ๋ฅผ ๊ฐ€์ค‘์น˜๊ฐ€ ์žˆ๋Š” ๊ฐ„์„ ๋“ค๋กœ ์ค„ ๋•Œ, ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„์„ ๊ตฌํ•ด์„œ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์•„๋ž˜์™€ ๊ฐ™์€ ํŠธ๋ฆฌ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค๋ฉด ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„์€ 45๊ฐ€.. 2024. 12. 22.