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

์ „์ฒด ๊ธ€110

[Java] BOJ 11725 ํŠธ๋ฆฌ์˜ ๋ถ€๋ชจ ์ฐพ๊ธฐ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/11725๋ฃจํŠธ ์—†๋Š” ํŠธ๋ฆฌ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, ํŠธ๋ฆฌ์˜ ๋ฃจํŠธ๋ฅผ 1์ด๋ผ๊ณ  ์ •ํ–ˆ์„ ๋•Œ, ๊ฐ ๋…ธ๋“œ์˜ ๋ถ€๋ชจ๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์ฒซ์งธ ์ค„์— ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜ N (2 โ‰ค N โ‰ค 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N-1๊ฐœ์˜ ์ค„์— ํŠธ๋ฆฌ ์ƒ์—์„œ ์—ฐ๊ฒฐ๋œ ๋‘ ์ •์ ์ด ์ฃผ์–ด์ง„๋‹ค.์ฒซ์งธ ์ค„๋ถ€ํ„ฐ N-1๊ฐœ์˜ ์ค„์— ๊ฐ ๋…ธ๋“œ์˜ ๋ถ€๋ชจ ๋…ธ๋“œ ๋ฒˆํ˜ธ๋ฅผ 2๋ฒˆ ๋…ธ๋“œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•œ๋‹ค.์•„์ด๋””์–ด์ธ์ ‘ ๋ฆฌ์ŠคํŠธ๋กœ ํŠธ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•ด์„œ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ํŠธ๋ฆฌ์˜ ๊ฐ„์„  ์ •๋ณด๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.๊ทธ๋ฆฌ๊ณ  DFS๋กœ ๋…ธ๋“œ๋งˆ๋‹ค ๋ถ€๋ชจ ๋…ธ๋“œ๋ฅผ ์ฐพ์•„์„œ ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค.์šฐ์„  ๋ฃจํŠธ๋ฅผ 1๋กœ ์ •ํ–ˆ์œผ๋ฏ€๋กœ, 1๋ถ€ํ„ฐ DFS๋ฅผ ๋Œ๋ฆฌ๋ฉฐ ๋…ธ๋“œ 1์„ ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌํ•˜๊ณ , 1์— ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ ์ค‘ ๋ฐฉ๋ฌธ ๋˜์ง€ ์•Š์€ ๋…ธ๋“œ๋ผ๋ฉด ํ•ด๋‹น ๋…ธ๋“œ์˜ ๋ถ€๋ชจ .. 2024. 12. 21.
[Java] BOJ 1991 ํŠธ๋ฆฌ ์ˆœํšŒ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/1991์ด์ง„ ํŠธ๋ฆฌ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ „์œ„ ์ˆœํšŒ(preorder traversal), ์ค‘์œ„ ์ˆœํšŒ(inorder traversal), ํ›„์œ„ ์ˆœํšŒ(postorder traversal)ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์˜ˆ๋ฅผ ๋“ค์–ด ์œ„์™€ ๊ฐ™์€ ์ด์ง„ ํŠธ๋ฆฌ๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด,์ „์œ„ ์ˆœํšŒํ•œ ๊ฒฐ๊ณผ : ABDCEFG // (๋ฃจํŠธ) (์™ผ์ชฝ ์ž์‹) (์˜ค๋ฅธ์ชฝ ์ž์‹)์ค‘์œ„ ์ˆœํšŒํ•œ ๊ฒฐ๊ณผ : DBAECFG // (์™ผ์ชฝ ์ž์‹) (๋ฃจํŠธ) (์˜ค๋ฅธ์ชฝ ์ž์‹)ํ›„์œ„ ์ˆœํšŒํ•œ ๊ฒฐ๊ณผ : DBEGFCA // (์™ผ์ชฝ ์ž์‹) (์˜ค๋ฅธ์ชฝ ์ž์‹) (๋ฃจํŠธ)๊ฐ€ ๋œ๋‹ค.์ฒซ์งธ ์ค„์—๋Š” ์ด์ง„ ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜ N(1 โ‰ค N โ‰ค 26)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๊ฐ ๋…ธ๋“œ์™€ ๊ทธ์˜ ์™ผ์ชฝ ์ž์‹ ๋…ธ๋“œ, .. 2024. 12. 20.
[Java] BOJ 1474 ๋ฐ‘ ์ค„ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/1474์„ธ์ค€์ด๋Š” N๊ฐœ์˜ ์˜์–ด ๋‹จ์–ด๋ฅผ ์ด์šฉํ•ด ๊ธธ์ด๊ฐ€ M์ธ ์ƒˆ๋กœ์šด ๋‹จ์–ด๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์ƒˆ๋กœ์šด ๋‹จ์–ด๋Š” N๊ฐœ์˜ ๋‹จ์–ด๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ด์–ด ๋ถ™์ด๊ณ , ๊ฐ ๋‹จ์–ด์˜ ์‚ฌ์ด์— _์„ ๋„ฃ์–ด์„œ ๋งŒ๋“ ๋‹ค. ์ด๋ ‡๊ฒŒ ๋งŒ๋“  ์ƒˆ๋กœ์šด ๋‹จ์–ด์˜ ๊ธธ์ด๊ฐ€ M์ด ์•„๋‹Œ ๊ฒฝ์šฐ _๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ๊ธธ์ด๊ฐ€ M์ด ๋˜๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค._๋Š” ๋‹จ์–ด์™€ ๋‹จ์–ด ์‚ฌ์ด์—๋งŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ƒˆ๋กœ์šด ๋‹จ์–ด๋Š” _์œผ๋กœ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜, _๋กœ ๋๋‚  ์ˆ˜ ์—†๋‹ค.๋‹จ์–ด์™€ ๋‹จ์–ด ์‚ฌ์ด์— ์žˆ๋Š” _์˜ ๊ฐœ์ˆ˜๋Š” ๋ชจ๋‘ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.๋ชจ๋‘ ๊ฐ™๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ๋‹จ์–ด์™€ ๋‹จ์–ด ์‚ฌ์ด์— ์žˆ๋Š” _์˜ ๊ฐœ์ˆ˜์˜ ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’์˜ ์ฐจ์ด๋Š” 1์ด ๋˜์–ด์•ผ ํ•œ๋‹ค.์ƒˆ๋กœ์šด ๋‹จ์–ด ์ค‘ ์‚ฌ์ „ ์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์„œ๋Š” ๋‹จ์–ด๋ฅผ ๊ตฌํ•ด๋ณด์ž.์ฒซ์งธ ์ค„์— N๊ณผ M์ด ์ฃผ์–ด์ง„.. 2024. 12. 18.
[Java] BOJ 2294 ๋™์ „ 2 ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/2294n๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ๋™์ „์ด ์žˆ๋‹ค. ์ด ๋™์ „๋“ค์„ ์ ๋‹นํžˆ ์‚ฌ์šฉํ•ด์„œ, ๊ทธ ๊ฐ€์น˜์˜ ํ•ฉ์ด k์›์ด ๋˜๋„๋ก ํ•˜๊ณ  ์‹ถ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด์„œ ๋™์ „์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋˜๋„๋ก ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ๋™์ „์€ ๋ช‡ ๊ฐœ๋ผ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.์ฒซ์งธ ์ค„์— n, k๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค n โ‰ค 100, 1 โ‰ค k โ‰ค 10,000) ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ๊ฐ์˜ ๋™์ „์˜ ๊ฐ€์น˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋™์ „์˜ ๊ฐ€์น˜๋Š” 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๊ฐ€์น˜๊ฐ€ ๊ฐ™์€ ๋™์ „์ด ์—ฌ๋Ÿฌ ๋ฒˆ ์ฃผ์–ด์งˆ ์ˆ˜๋„ ์žˆ๋‹ค. ์ฒซ์งธ ์ค„์— ์‚ฌ์šฉํ•œ ๋™์ „์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•œ๋‹ค. ์•„์ด๋””์–ด๋™์ „์˜ ๊ฐฏ์ˆ˜๋งŒํผ ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ  ๋™์ „์˜ ๊ฐ€์น˜๋ฅผ ์ €์žฅํ•œ๋‹ค.๊ทธ๋ฆฌ๊ณ  0์›๋ถ€ํ„ฐ k๊ฐ€๊ฒฉ๊นŒ์ง€ ๋งŒ๋“ค๋•Œ ์‚ฌ์šฉํ•œ ๋™์ „์˜.. 2024. 12. 17.
[Java] BOJ 12933 ์˜ค๋ฆฌ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/12933์˜ค๋ฆฌ์˜ ์šธ์Œ ์†Œ๋ฆฌ๋Š” "quack"์ด๋‹ค. ์˜ฌ๋ฐ”๋ฅธ ์˜ค๋ฆฌ์˜ ์šธ์Œ ์†Œ๋ฆฌ๋Š” ์šธ์Œ ์†Œ๋ฆฌ๋ฅผ ํ•œ ๋ฒˆ ๋˜๋Š” ๊ทธ ์ด์ƒ ์—ฐ์†ํ•ด์„œ ๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, "quack", "quackquackquackquack", "quackquack"๋Š” ์˜ฌ๋ฐ”๋ฅธ ์˜ค๋ฆฌ์˜ ์šธ์Œ ์†Œ๋ฆฌ์ด๋‹ค.๊ฐ‘์ž๊ธฐ ์˜์„ ์ด์˜ ๋ฐฉ์— ์žˆ๋Š” ์˜ค๋ฆฌ๊ฐ€ ์šธ๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ , ์ด ์šธ์Œ์†Œ๋ฆฌ๋Š” ์„ž์ด๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์˜์„ ์ด๋Š” ์ผ๋‹จ ์šธ์Œ์†Œ๋ฆฌ๋ฅผ ๋…น์Œํ–ˆ๊ณ , ๋‚˜์ค‘์— ๋“ค์–ด๋ณด๋ฉด์„œ ์ด ๋ช‡ ๋งˆ๋ฆฌ์˜ ์˜ค๋ฆฌ๊ฐ€ ์žˆ๋Š”์ง€ ๊ตฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.๋…น์Œํ•œ ์†Œ๋ฆฌ๋Š” ๋ฌธ์ž์—ด๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š”๋ฐ, ํ•œ ๋ฌธ์ž๋Š” ํ•œ ์˜ค๋ฆฌ๊ฐ€ ๋‚ธ ์†Œ๋ฆฌ์ด๋‹ค. ์˜ค๋ฆฌ์˜ ์šธ์Œ ์†Œ๋ฆฌ๋Š” ์—ฐ์†๋  ํ•„์š”๋Š” ์—†์ง€๋งŒ, ์ˆœ์„œ๋Š” "quack"์ด์–ด์•ผ ํ•œ๋‹ค. "quqacukqauackck"๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š”.. 2024. 12. 17.
[Java] BOJ 2504 ๊ด„ํ˜ธ์˜ ๊ฐ’ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/25044๊ฐœ์˜ ๊ธฐํ˜ธ โ€˜(โ€™, โ€˜)โ€™, โ€˜[โ€™, โ€˜]โ€™๋ฅผ ์ด์šฉํ•ด์„œ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ด„ํ˜ธ์—ด ์ค‘์—์„œ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ž€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋œ๋‹ค.ํ•œ ์Œ์˜ ๊ด„ํ˜ธ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ โ€˜()โ€™์™€ โ€˜[]โ€™๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋‹ค.๋งŒ์ผ X๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ฉด โ€˜(X)โ€™์ด๋‚˜ โ€˜[X]โ€™๋„ ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด ๋œ๋‹ค.X์™€ Y ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด๋ผ๋ฉด ์ด๋“ค์„ ๊ฒฐํ•ฉํ•œ XY๋„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด ๋œ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด โ€˜(()[[]])โ€™๋‚˜ โ€˜(())[][]โ€™ ๋Š” ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด์ง€๋งŒ โ€˜([)]โ€™ ๋‚˜ โ€˜(()()[]โ€™ ์€ ๋ชจ๋‘ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด์ด ์•„๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์–ด๋–ค ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ์—ด X์— ๋Œ€ํ•˜์—ฌ ๊ทธ ๊ด„ํ˜ธ์—ด์˜ ๊ฐ’(๊ด„ํ˜ธ๊ฐ’)์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•˜๊ณ  ๊ฐ’(X)๋กœ ํ‘œ์‹œํ•œ๋‹ค.โ€˜()โ€™ ์ธ ๊ด„ํ˜ธ์—ด์˜ ๊ฐ’์€ 2์ด๋‹ค... 2024. 12. 16.