๋ชฉ๋กAlgorithm๐ŸŒŠ (7)

did_story

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / JAVA] ๋Œ€์ถฉ ๋งŒ๋“  ์žํŒ

๋ฌธ์ œ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/160586 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก์˜ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr1. ๋ฌธ์ œ ํƒ์ƒ‰์—ฌ๋Ÿฌ ๊ฐœ์˜ ์žํŒ์ด ์žˆ๊ณ , ๊ฐ ์žํŒ์—๋Š” ์•ŒํŒŒ๋ฒณ์ด ์—ฌ๋Ÿฌ ๋ฒˆ ๋“ฑ์žฅํ•จ.์žํŒ์˜ ๊ฐ ์•ŒํŒŒ๋ฒก์ด ๋ช‡ ๋ฒˆ์งธ๋กœ ๋ˆŒ๋Ÿฌ์•ผ ์ž…๋ ฅ๋˜๋Š”์ง€ ์ฃผ์–ด์ง์žํŒ์— ์—†๋Š” ๋ฌธ์ž๋Š” -1 ๋ฆฌํ„ด.์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด targets ๋ฅผ ์ž…๋ ฅํ•  ๋•Œ, ๊ฐ ๋ฌธ์ž๋ณ„ ์ตœ์†Œ ๋ช‡ ๋ฒˆ ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ์•ผ ํ•˜๋Š”์ง€ ํ•ฉ์‚ฐํ•ด์„œ ๋ฆฌํ„ดํ•˜๋Š” ๋ฌธ์ œ 2. ํ’€์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜1) ๊ฐ ์•ŒํŒŒ๋ฒณ์˜ ์ตœ์†Œ ํด๋ฆญ ํšŸ์ˆ˜ ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ (Preprocessing)keymap ์˜ ๊ฐ ๋ฌธ์ž์—ด์„ ํƒ์ƒ‰ํ•˜์—ฌ, ํ•ด๋‹น ์•ŒํŒŒ๋ฒณ์ด ๋ช‡ ๋ฒˆ์งธ ์œ„์น˜์— ์žˆ๋Š”์ง€ ๋ชจ..

[๋ฐฑ์ค€ / JAVA] 1717๋ฒˆ, ์ง‘ํ•ฉ์˜ ํ‘œํ˜„ (Union-Find)

๋ฌธ์ œ์ดˆ๊ธฐ์— n+1$n+1$๊ฐœ์˜ ์ง‘ํ•ฉ {0}, {1}, {2},…, {n} ์ด ์žˆ๋‹ค. ์—ฌ๊ธฐ์— ํ•ฉ์ง‘ํ•ฉ ์—ฐ์‚ฐ๊ณผ, ๋‘ ์›์†Œ๊ฐ€ ๊ฐ™์€ ์ง‘ํ•ฉ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์ž…๋ ฅ์ฒซ์งธ ์ค„์— n, m์ด ์ฃผ์–ด์ง„๋‹ค. m์€ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์—ฐ์‚ฐ์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ๋‹ค์Œ m๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ๊ฐ์˜ ์—ฐ์‚ฐ์ด ์ฃผ์–ด์ง„๋‹ค. ํ•ฉ์ง‘ํ•ฉ์€ 0 a b์˜ ํ˜•ํƒœ๋กœ ์ž…๋ ฅ์ด ์ฃผ์–ด์ง„๋‹ค. ์ด๋Š” a๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ง‘ํ•ฉ๊ณผ, b๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ง‘ํ•ฉ์„ ํ•ฉ์นœ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ๋‘ ์›์†Œ๊ฐ€ ๊ฐ™์€ ์ง‘ํ•ฉ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ์—ฐ์‚ฐ์€ 1 a b์˜ ํ˜•ํƒœ๋กœ ์ž…๋ ฅ์ด ์ฃผ์–ด์ง„๋‹ค. ์ด๋Š” a์™€ b๊ฐ€ ๊ฐ™์€ ์ง‘ํ•ฉ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ์—ฐ์‚ฐ์ด๋‹ค.์ถœ๋ ฅ1๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ž…๋ ฅ์— ๋Œ€ํ•ด์„œ a์™€ b๊ฐ€ ๊ฐ™์€ ์ง‘ํ•ฉ์— ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด "YES" ๋˜๋Š”..