[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ๊ฐ์ฅ ๋จผ ๋ ธ๋
๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/49189
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ฐ์ฅ ๋จผ ๋ ธ๋
6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3
programmers.co.kr
๋ฌธ์ ์ค๋ช
n๊ฐ์ ๋ ธ๋๊ฐ ์๋ ๊ทธ๋ํ๊ฐ ์์ต๋๋ค. ๊ฐ ๋ ธ๋๋ 1๋ถํฐ n๊น์ง ๋ฒํธ๊ฐ ์ ํ์์ต๋๋ค. 1๋ฒ ๋ ธ๋์์ ๊ฐ์ฅ ๋ฉ๋ฆฌ ๋จ์ด์ง ๋ ธ๋์ ๊ฐฏ์๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ๊ฐ์ฅ ๋ฉ๋ฆฌ ๋จ์ด์ง ๋ ธ๋๋ ์ต๋จ๊ฒฝ๋ก๋ก ์ด๋ํ์ ๋ ๊ฐ์ ์ ๊ฐ์๊ฐ ๊ฐ์ฅ ๋ง์ ๋ ธ๋๋ค์ ์๋ฏธํฉ๋๋ค.
๋ ธ๋์ ๊ฐ์ n, ๊ฐ์ ์ ๋ํ ์ ๋ณด๊ฐ ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด vertex๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, 1๋ฒ ๋ ธ๋๋ก๋ถํฐ ๊ฐ์ฅ ๋ฉ๋ฆฌ ๋จ์ด์ง ๋ ธ๋๊ฐ ๋ช ๊ฐ์ธ์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- ๋ ธ๋์ ๊ฐ์ n์ 2 ์ด์ 20,000 ์ดํ์ ๋๋ค.
- ๊ฐ์ ์ ์๋ฐฉํฅ์ด๋ฉฐ ์ด 1๊ฐ ์ด์ 50,000๊ฐ ์ดํ์ ๊ฐ์ ์ด ์์ต๋๋ค.
- vertex ๋ฐฐ์ด ๊ฐ ํ [a, b]๋ a๋ฒ ๋ ธ๋์ b๋ฒ ๋ ธ๋ ์ฌ์ด์ ๊ฐ์ ์ด ์๋ค๋ ์๋ฏธ์ ๋๋ค.
ํ์ด
๋ฌธ์ ์์ ์ํ๋ ๋ต์ ์ต๋จ๊ฒฝ๋ก์์ ๊ฐ์ฅ ๋จผ ๋ ธ๋๋ฅผ ๊ตฌํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๋จผ์ ๊ตฌํด์ฃผ์ด์ผํฉ๋๋ค. ์ต๋จ ๊ฒฝ๋ก๋ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ๊ตฌํ ์ ์์ต๋๋ค. ์ค์ํํธ๋ ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๊ณผ์ ์์ ์ ์ ์ ๋นผ๋ด๋ ๊ณผ์ ์ด O(N)์ด ๋์ด ์๊ฐ์ด๊ณผ๊ฐ ๋์ง ์์๊น ์๊ฐํ์ง๋ง, ํฐ ๋ฌธ์ ์์ด ํต๊ณผ๊ฐ ๋์์ต๋๋ค. ๋ง์ฝ ์๊ฐ์ ํ์ด ๋ ๋นก๋นกํ๋ค๋ฉด ํ๋ฅผ ์ง์ ๊ตฌํํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ์ ํด์ผํ ๊ฒ ๊ฐ์ต๋๋ค.
1๋ฒ ์ ์ ์ผ๋ก๋ถํฐ์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ค์๋ ๊ตฌํ ์ต๋จ๊ฒฝ๋ก ์ค ๊ฐ์ฅ ๊ฑฐ๋ฆฌ๊ฐ ๋จผ ๋ ธ๋์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๊ณ , ํด๋น ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ์ง๋ ๋ชจ๋ ๋ ธ๋์ ๊ฐ์๋ฅผ ๊ตฌํด์ฃผ๋ ๊ฒ์ผ๋ก ๋ฌธ์ ์ ๋ต์ ๊ตฌํ ์ ์์ต๋๋ค.