๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๊ณจ๋“œ3 (7)

JUINTINATION

๋ฐฑ์ค€ 2147๋ฒˆ: ๋‹ค๋ฆฌ ๋งŒ๋“ค๊ธฐ

๋ฌธ์ œ https://www.acmicpc.net/problem/2146 2146๋ฒˆ: ๋‹ค๋ฆฌ ๋งŒ๋“ค๊ธฐ ์—ฌ๋Ÿฌ ์„ฌ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋‚˜๋ผ๊ฐ€ ์žˆ๋‹ค. ์ด ๋‚˜๋ผ์˜ ๋Œ€ํ†ต๋ น์€ ์„ฌ์„ ์ž‡๋Š” ๋‹ค๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ๊ณต์•ฝ์œผ๋กœ ์ธ๊ธฐ๋ชฐ์ด๋ฅผ ํ•ด ๋‹น์„ ๋  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ง‰์ƒ ๋Œ€ํ†ต๋ น์— ์ทจ์ž„ํ•˜์ž, ๋‹ค๋ฆฌ๋ฅผ ๋†“๋Š”๋‹ค๋Š” ๊ฒƒ์ด ์•„๊น๋‹ค www.acmicpc.net ํ’€์ด ์—ฌ๋Ÿฌ ์„ฌ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋‚˜๋ผ์—์„œ ํ•œ ์„ฌ๊ณผ ๋‹ค๋ฅธ ์„ฌ์„ ์ž‡๋Š” ๋‹ค๋ฆฌ ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ ๋‹ค๊ณ  ํ•  ๋•Œ ๊ฐ€์žฅ ์งง์€ ๋‹ค๋ฆฌ์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ์„ฌ์€ ๋™์„œ๋‚จ๋ถ์œผ๋กœ ๋ถ™์–ด์žˆ๋Š” ๋•…์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ ‘๊ทผ ์–ด๋–ค ์„ฌ๊ณผ ๋‹ค๋ฅธ ์„ฌ ์‚ฌ์ด๋ฅผ ์ž‡๋Š” ๋‹ค๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋ฏ€๋กœ ๊ฐ ์„ฌ์ด ๋‹ค๋ฅธ ์„ฌ์ด๋ผ๋Š” ๊ฒƒ์„ ํ‘œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ €๋Š” dfs ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•˜์—ฌ ๊ฐ ์„ฌ์— ๋ฒˆํ˜ธ๋ฅผ ์ •ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ž…๋ ฅ..

๋ฐฑ์ค€ 16964๋ฒˆ: DFS ์ŠคํŽ˜์…œ ์ €์ง€

๋ฌธ์ œ https://www.acmicpc.net/problem/16964 16964๋ฒˆ: DFS ์ŠคํŽ˜์…œ ์ €์ง€ ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ์ˆ˜ N(2 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N-1๊ฐœ์˜ ์ค„์—๋Š” ํŠธ๋ฆฌ์˜ ๊ฐ„์„  ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋งˆ์ง€๋ง‰ ์ค„์—๋Š” DFS ๋ฐฉ๋ฌธ ์ˆœ์„œ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. DFS ๋ฐฉ๋ฌธ ์ˆœ์„œ๋Š” ํ•ญ์ƒ N๊ฐœ์˜ ์ •์ˆ˜๋กœ ์ด๋ฃจ www.acmicpc.net ํ’€์ด ์ง€๋‚œ BFS ์ŠคํŽ˜์…œ ์ €์ง€ ๋ฌธ์ œ์— ์ด์–ด ์ •์ ์— 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋Š” ์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„๋ฅผ ํ‘œํ˜„ํ•œ ํŠธ๋ฆฌ๊ฐ€ ์žˆ์„ ๋•Œ ์–ด๋–ค ์ˆ˜์—ด์ด DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์ˆ˜์—ด์˜ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ์ •์ ์„ ๋ฐฉ๋ฌธํ•˜๋Š” ์ˆœ์„œ๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ ‘๊ทผ BFS, DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ •์ ๋ผ๋ฆฌ ์–ด๋–ค ์ˆœ์„œ๋กœ ์—ฐ๊ฒฐ๋ผ์žˆ๋Š”์ง€์— ๋”ฐ๋ผ ๋ฐฉ๋ฌธ ์ˆœ์„œ..

๋ฐฑ์ค€ 16940๋ฒˆ: BFS ์ŠคํŽ˜์…œ ์ €์ง€

๋ฌธ์ œ https://www.acmicpc.net/problem/16940 16940๋ฒˆ: BFS ์ŠคํŽ˜์…œ ์ €์ง€ ์˜ฌ๋ฐ”๋ฅธ ์ˆœ์„œ๋Š” 1, 2, 3, 4์™€ 1, 3, 2, 4๊ฐ€ ์žˆ๋‹ค. www.acmicpc.net ํ’€์ด ์ •์ ์— 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋Š” ์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„๋ฅผ ํ‘œํ˜„ํ•œ ํŠธ๋ฆฌ๊ฐ€ ์žˆ์„ ๋•Œ ์–ด๋–ค ์ˆ˜์—ด์ด BFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์ˆ˜์—ด์˜ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ์ •์ ์„ ๋ฐฉ๋ฌธํ•˜๋Š” ์ˆœ์„œ๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ ‘๊ทผ BFS, DFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ •์ ๋ผ๋ฆฌ ์–ด๋–ค ์ˆœ์„œ๋กœ ์—ฐ๊ฒฐ๋ผ์žˆ๋Š”์ง€์— ๋”ฐ๋ผ ๋ฐฉ๋ฌธ ์ˆœ์„œ๊ฐ€ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฌธ์ œ์—์„œ๋Š” ๋ฐฉ๋ฌธ ๋ฐฉ๋ฌธ๊ฐ€ ๋จผ์ € ๋‚˜์˜จ ๋’ค์— ์ด ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅ์ด ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €๋Š” ์ •์ ์— ์—ฐ๊ฒฐ๋œ ๋‹ค๋ฅธ ์ •์ ๋“ค์„ ArrayList ๋ฐฐ์—ด์ธ list๋กœ ํ‘œ..

๋ฐฑ์ค€ 16947๋ฒˆ: ์„œ์šธ ์ง€ํ•˜์ฒ  2ํ˜ธ์„ 

๋ฌธ์ œ https://www.acmicpc.net/problem/16947 16947๋ฒˆ: ์„œ์šธ ์ง€ํ•˜์ฒ  2ํ˜ธ์„  ์ฒซ์งธ ์ค„์— ์—ญ์˜ ๊ฐœ์ˆ˜ N(3 ≤ N ≤ 3,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์—ญ๊ณผ ์—ญ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ตฌ๊ฐ„์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ™์€ ๊ตฌ๊ฐ„์ด ์—ฌ๋Ÿฌ ๋ฒˆ ์ฃผ์–ด์ง€๋Š” ๊ฒฝ์šฐ๋Š” ์—†๊ณ , ์—ญ์€ 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ www.acmicpc.net ํ’€์ด ํ•œ ์—ญ์—์„œ ์ถœ๋ฐœํ•ด์„œ ๊ณ„์† ๊ฐ€๋ฉด ๋‹ค์‹œ ์ถœ๋ฐœํ•œ ์—ญ์œผ๋กœ ๋Œ์•„์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋…ธ์„ ์„ ์ˆœํ™˜์„ ์ด๋ผ๊ณ  ํ•˜๊ณ  ๋‘ ์—ญ(์ •์ ) ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋Š” ์ง€๋‚˜์•ผ ํ•˜๋Š” ๊ตฌ๊ฐ„(๊ฐ„์„ )์˜ ๊ฐœ์ˆ˜์ผ ๋•Œ 1๊ฐœ์˜ ์ˆœํ™˜์„ ๊ณผ ๊ฐ ์—ญ๊ณผ ์ˆœํ™˜์„  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ ‘๊ทผ dfs๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐฉ๋ฌธํ•œ ์ ์ด ์žˆ๋Š” ์—ญ์œผ๋กœ ๋‹ค์‹œ ๋Œ์•„์™”๋‹ค๋ฉด ํ•ด๋‹น ์—ญ์„ ๊ธฐ์ค€์œผ๋กœ ์ˆœํ™˜์„ ์ด ๋งŒ๋“ค์–ด์ง€๊ณ  ๊ทธ ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ์—ญ์— ์ˆœํ™˜์„ ์ด๋ผ..

๋ฐฑ์ค€ 2565๋ฒˆ: ์ „๊นƒ์ค„

๋ฌธ์ œ https://www.acmicpc.net/problem/2565 2565๋ฒˆ: ์ „๊นƒ์ค„ ์ฒซ์งธ ์ค„์—๋Š” ๋‘ ์ „๋ด‡๋Œ€ ์‚ฌ์ด์˜ ์ „๊นƒ์ค„์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ „๊นƒ์ค„์˜ ๊ฐœ์ˆ˜๋Š” 100 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ „๊นƒ์ค„์ด A์ „๋ด‡๋Œ€์™€ ์—ฐ๊ฒฐ๋˜๋Š” ์œ„์น˜์˜ ๋ฒˆํ˜ธ์™€ B์ „๋ด‡๋Œ€์™€ ์—ฐ๊ฒฐ๋˜๋Š” www.acmicpc.net ํ’€์ด ๋‘ ์ „๋ด‡๋Œ€ a์™€ b ์‚ฌ์ด์— ์„ค์น˜๋œ ์ „๊นƒ์ค„ ์ค‘์— ๋ช‡ ๊ฐœ์˜ ์ „๊นƒ์ค„์„ ์—†์•  ๋‚จ์•„์žˆ๋Š” ๋ชจ๋“  ์ „๊นƒ์ค„์ด ์„œ๋กœ ๊ต์ฐจํ•˜์ง€ ์•Š๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์—†์• ์•ผ ํ•˜๋Š” ์ „๊นƒ์ค„์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋กœ LIS(Longest Increasing Subsequence)๋ฅผ ์‘์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ์ž๋ฐ” ํƒ‘๋‹ค์šด ๋ฐฉ์‹์„ ์ด์šฉํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. poleA ๋ฐฐ์—ด์€ ์ „๋ด‡๋Œ€ a์— ์„ค์น˜๋œ ์ „๊นƒ์ค„์˜ ์œ„์น˜๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ arr ๋ฐฐ์—ด์€ ์ž„์˜์˜ ์ˆ˜ x..