[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ์ฌ ์ฐ๊ฒฐํ๊ธฐ
๋ฌธ์
https://programmers.co.kr/learn/courses/30/lessons/42861
๋ฌธ์ ์ค๋ช
n๊ฐ์ ์ฌ ์ฌ์ด์ ๋ค๋ฆฌ๋ฅผ ๊ฑด์คํ๋ ๋น์ฉ(costs)์ด ์ฃผ์ด์ง ๋, ์ต์์ ๋น์ฉ์ผ๋ก ๋ชจ๋ ์ฌ์ด ์๋ก ํตํ ๊ฐ๋ฅํ๋๋ก ๋ง๋ค ๋ ํ์ํ ์ต์ ๋น์ฉ์ return ํ๋๋ก solution์ ์์ฑํ์ธ์.
๋ค๋ฆฌ๋ฅผ ์ฌ๋ฌ ๋ฒ ๊ฑด๋๋๋ผ๋, ๋๋ฌํ ์๋ง ์์ผ๋ฉด ํตํ ๊ฐ๋ฅํ๋ค๊ณ ๋ด ๋๋ค. ์๋ฅผ ๋ค์ด A ์ฌ๊ณผ B ์ฌ ์ฌ์ด์ ๋ค๋ฆฌ๊ฐ ์๊ณ , B ์ฌ๊ณผ C ์ฌ ์ฌ์ด์ ๋ค๋ฆฌ๊ฐ ์์ผ๋ฉด A ์ฌ๊ณผ C ์ฌ์ ์๋ก ํตํ ๊ฐ๋ฅํฉ๋๋ค.
์ ํ์ฌํญ
- ์ฌ์ ๊ฐ์ n์ 1 ์ด์ 100 ์ดํ์ ๋๋ค.
- costs์ ๊ธธ์ด๋ ((n-1) * n) / 2์ดํ์ ๋๋ค.
- ์์์ i์ ๋ํด, costs[i][0] ์ costs[i] [1]์๋ ๋ค๋ฆฌ๊ฐ ์ฐ๊ฒฐ๋๋ ๋ ์ฌ์ ๋ฒํธ๊ฐ ๋ค์ด์๊ณ , costs[i] [2]์๋ ์ด ๋ ์ฌ์ ์ฐ๊ฒฐํ๋ ๋ค๋ฆฌ๋ฅผ ๊ฑด์คํ ๋ ๋๋ ๋น์ฉ์ ๋๋ค.
- ๊ฐ์ ์ฐ๊ฒฐ์ ๋ ๋ฒ ์ฃผ์ด์ง์ง ์์ต๋๋ค. ๋ํ ์์๊ฐ ๋ฐ๋๋๋ผ๋ ๊ฐ์ ์ฐ๊ฒฐ๋ก ๋ด ๋๋ค. ์ฆ 0๊ณผ 1 ์ฌ์ด๋ฅผ ์ฐ๊ฒฐํ๋ ๋น์ฉ์ด ์ฃผ์ด์ก์ ๋, 1๊ณผ 0์ ๋น์ฉ์ด ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- ๋ชจ๋ ์ฌ ์ฌ์ด์ ๋ค๋ฆฌ ๊ฑด์ค ๋น์ฉ์ด ์ฃผ์ด์ง์ง ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ, ๋ ์ฌ ์ฌ์ด์ ๊ฑด์ค์ด ๋ถ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ๋ด ๋๋ค.
- ์ฐ๊ฒฐํ ์ ์๋ ์ฌ์ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
ํ์ด
์ต์์ ์ฅํธ๋ฆฌ๋ฅผ ์ฐพ๋ ๋ฌธ์ ์์ต๋๋ค. ๋ฌธ์ ์์ ์น์ ํ๊ฒ ์ต์๋น์ฉ์ผ๋ก ๋ชจ๋ ์ฌ์ด ์ฐ๊ฒฐ๋๋๋ก์ด๋ผ๊ณ ์๋ ค์ฃผ๊ณ ์๋ค์! ์ต์์ ์ฅํธ๋ฆฌ๋ ํ๋ฆผ์๊ณ ๋ฆฌ์ฆ๊ณผ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ฐพ์ ์ ์์ต๋๋ค. ์ ๋ ๋น๊ต์ ๊ตฌํ์ด ๋จ์ํ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ์ฌ ํด๊ฒฐํ์ต๋๋ค. ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ [์ฌ๊ธฐ]์, ํ๋ฆผ ์๊ณ ๋ฆฌ์ฆ์ [์ฌ๊ธฐ]์ ์ ๋ฆฌ๋์ด ์์ต๋๋ค!
ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ ์์ฒญ๋๊ฒ ๊ฐ๋จํฉ๋๋ค. ์๊ณ ๋ฆฌ์ฆ์ ํ๋ฆ์ ๋ค์๊ณผ ๊ฐ์ด ์งํ๋ฉ๋๋ค.
- ๊ฐ์ ๋ค์ ๊ฐ์ ๊ฐ์ค์น ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
- ๊ฐ์ฅ ๋น์ฉ์ด ์ ์ ๊ฐ์ ๋ถํฐ ๊บผ๋ด์ ์ต์์ ์ฅํธ๋ฆฌ์ ์ถ๊ฐํ๋ค.
- ์ต์์ ์ฅํธ๋ฆฌ์ ์ถ๊ฐํ์ ๋ ์ฌ์ดํด์ด ๋ฐ์ํ๋ ๊ฐ์ ์ด๋ผ๋ฉด ํธ๋ฆฌ์์ ์ ์ธํ๋ค.
- ๋ชจ๋ ๊ฐ์ ๋ค์ ๋ค ํ์ธํ ๋๊น์ง 2, 3๋ฒ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
์ฌ๊ธฐ์ ๊ฐ์ฅ ๊ด๊ฑด์ด ๋๋ ํฌ์ธํธ๋ ์ฌ์ดํด ๋ฐ์์ ์ฒดํฌํ๋๊ฑด๋ฐ์, ์ ๋์จ ํ์ธ๋๋ฅผ ํตํด ์ฌ์ดํด ํ์ธ๋ ์ฝ๊ฒํ ์ ์์ต๋๋ค. ์ ๋ ์ ๋์จ ํ์ธ๋์ ํฉ์งํฉ ์ฐ์ฐ์ธ Union ์ฐ์ฐ์ ๋ฐํ ๊ฐ์ Bool ๊ฐ์ผ๋ก ์ค์ ํด์ ๋ง์ฝ ์ด๋ฏธ ๊ฐ์ ์กฐ์ ๋ ธ๋๋ฅผ ๊ฐ์ง, ๊ฐ์ ์งํฉ์ ํฌํจ๋ ์ ์ ๋ค์ด๋ผ๋ฉด false๋ฅผ, ๊ทธ๋ ์ง ์๋ค๋ฉด ํฉ์งํฉ ์ฐ์ฐ์ ์ํํ๊ณ true๋ฅผ ๋ฐํํ๋๋ก ํ์ต๋๋ค.
์ฝ๊ฒ๋งํ๋ฉด, ๊ฐ์ ์กฐ์๋ ธ๋ A๋ฅผ ๊ฐ์ง๊ณ ์๋ ์งํฉ์ ์์์ธ B ์ C๋ฅผ ์๋ก ์ฐ๊ฒฐํ๊ฒ๋๋ฉด A->B->C->A ์ ์ฌ์ดํด์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์ฐ์ฐ์ ์ํํ์ง ์๊ณ ๊ณง๋ฐ๋ก false๋ฅผ ๋ฐํํ๋ ๊ฒ์ ๋๋ค!
์ด ๋ฌธ์ ์์๋ ์ง์ ์ ์ผ๋ก ํธ๋ฆฌ๋ฅผ ๋ง๋ค ํ์์์ด ๊ฐ์ ๊ฐ์ค์น์ ํฉ๋ง ๊ตฌํ๋ฉด ๋๊ธฐ ๋๋ฌธ์, Union ์ฐ์ฐ์์ true๊ฐ ๋ฐํ๋ ์ ์ ์ฌ์ด์ ๊ฐ์ ๊ฐ์ค์น๋ค์ ํฉ์ ๊ตฌํด ์ ๋ต์ผ๋ก ๋ฐํํ์ต๋๋ค.
์ฝ๋
'๐๐ปโโ๏ธ ํผ-์์ค > ๐ฃ ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ๊ธฐ์ง๊ตญ ์ค์น (0) | 2021.10.10 |
---|---|
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ํ ํธ์ง (0) | 2021.10.10 |
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ์ฌํ๊ฒฝ๋ก (0) | 2021.10.03 |
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ๋ฒ ์คํธ์จ๋ฒ (0) | 2021.10.03 |
[์ค์ํํธ ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค: ๋จ์ด ๋ณํ (1) | 2021.10.03 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote