Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
๐ ๋ฌธ์ ๋งํฌ
Valid Arrangement of Pairs
โ๏ธ ์์๋ ์๊ฐ
3์๊ฐ
โจ ์๋ ์ฝ๋
๊ฐ์
๊ทธ๋ํ ๋ฌธ์ ๋ก ๊ฐ์ ์ ๋ํ ์ ๋ณด๋ค์ 2์ฐจ์ ๋ฐฐ์ด ํํ๋ก ์ฃผ์ด์ง๋ค.
Input: pairs = [[5,1],[4,5],[11,9],[9,4]]
์ฒซ ๋ฒ์งธ ๋ ธ๋๋ ์ถ๋ฐ์ง๊ณ ๋ ๋ฒ์งธ ์์๋ก ์ฃผ์ด์ง๋ ๋ ธ๋๋ ๋์ฐฉ์ง์ด๋ค.
5 -> 1
4 -> 5
11 -> 9
9 -> 4
์ด๋ค ๋ ธ๋์์ ์ถ๋ฐ์ ํ์์ ๋ ํด๋น ๊ฐ์ ๋ค์ ๋ชจ๋ ์ด์ฉํ์ฌ ์ ํจํ ๊ทธ๋ํ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.
์ฆ, ์ฃผ์ด์ง pairs์ ๊ฐ์ ๋ค์ ๋ชจ๋ ์ฌ์ฉํด์ ๊ฐ ๋ ธ๋๋ค์ ํต๊ณผํ๋ ์ฐ์๋ ๋ฐฐ์ด์ ํํํด์ผํจ.
์ค์ํ ์ ์ ์ฃผ์ด์ง๋ ๊ฐ์ ์ ๋ฌด์กฐ๊ฑด ์ ํจํ๋ค๋ ์ .
์ด๋ ๊ฒ ์ค๊ฐ ๋ ธ๋์์ ๋ค๋ฅธ ๋ ธ๋๋ก ๊ฐ ํ ๋ค๋ฅธ ๊ฐ์ ๋ค์ ์ด์ฉํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
์์ ์์ ๋ก ์ด๋ฐ ์์ผ๋ก ๋ชจ๋ ๊ฐ์ ๋ค์ ํ์ฉํด์ ์ ํจํ ๊ทธ๋ํ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.
์ ๊ทผ ๋ฐฉ์
๋ฌด์กฐ๊ฑด ์ ํจํ๋ค๋ ์ ์์ ๋ชจ๋ ๊ฐ์ ๋ค์ ๋ค ์ด์ฉํ ๋ ๋ ๊ฐ์ง์ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํ ์ ์๋ค.
Constraints:
1 <= pairs.length <= 10^5
pairs[i].length == 2
0 <= starti, endi <= 10^9
starti != endi
No two pairs are exactly the same.
There exists a valid arrangement of pairs.
์ฃผ์ด์ง ์ ์ฝ ์กฐ๊ฑด์์ ์์์ ํฌ๊ธฐ๊ฐ 0์์ 10^9์ด๊ธฐ์ ์ผ๋ฐ์ ์ธ ๋ฐฐ์ด๋ก ๊ฐ ๋ ธ๋์ ์ง์ถ, ์ง์ ์ฐจ์๋ฅผ ๊ด๋ฆฌํ๊ธฐ๋ ์ด๋ ต๋ค๊ณ ์๊ฐํ๋ค.
unordered_map์์ ๊ฐ ๋ ธ๋์ ์ง์ถ ๋ ธ๋๋ค์ ๊ด๋ฆฌํด์ฃผ๋ ์์ผ๋ก ๊ฒฐ์ .
๊ทธ๋ผ ๊ฐ ๋ ธ๋๋ค์์ ์ฃผ์ด์ง ๊ฐ์ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ์ง์ถํ ๊ฒฝ์ฐ. ์ง์ถํ ๋ ธ๋๋ค์ ๋ํ ์ ๋ณด๋ค์ ๊ด๋ฆฌํด์ฃผ์ด์ผ ํ๋๋ฐ visit ๋ฐฐ์ด๋ก ๊ด๋ฆฌํด์ฃผ๊ธฐ์๋ ๋๋ฌด ํฌ๊ธฐ์ ๋ฐฉ๋ฌธํ ๋ ธ๋๋ค์ ์ง์ ์ ๊ฑฐํด์ฃผ๋ ๋ฐฉ์์ผ๋ก deque๋ฅผ ํ์ฉํ๊ธฐ๋ก ํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ถ๋ฐ์ง๋ฅผ ์ ํ๊ธฐ์ํด ๊ฐ ์ง์ , ์ง์ถ ์ฐจ์๋ฅผ ์ ์ฅํด์ค unordred_map์ ์ถ๊ฐ.
๋ ธ๋๋ค์ ๋ํ ์ ๋ณด๋ฅผ ์ถ๊ฐํด์ฃผ์์ผ๋ฉด ๊ทธ๋ํ ํ์์ ํด์ฃผ๋ฉด ๋๋ค.
์ฐ๋ฆฌ๋ ๊ฐ์ ์ ํตํด ์์ฐจ์ ์ผ๋ก ๋ ธ๋๋ค์ ๋ฐฉ๋ฌธํด์ฃผ๋ฉด ๋๋ค.
DFS๋ฅผ ํ์ฉํ ๊ฒ์ด๋ผ๋ ๊ณํ๊น์ง๋ ์ข์์ง๋ง ํ์ด๊ฐ ์ฝ๊ฒ ๋ ์ค๋ฅด์ง ์์์ ๋ค๋ฅธ ๊ธ์ ์ฐธ๊ณ .
์ถ๋ฐ ๋ ธ๋๋ถํฐ ์์ํ์ฌ ๋ ธ๋์ ์ฐ๊ฒฐ๋ ๋ ธ๋๋ค์ ํ๋์ฉ ์ ๊ฑฐ ํด์ค ๋ค ๋ค์ ๋ ธ๋๋ฅผ ํ์ํ๋ค.
๊ทธ๋ผ ๊ฒฐ๊ตญ ๋น์์ ธ์๋ ๋ ธ๋๋ฅผ ๋ฐ๊ฒฌํ๊ฒ ๋ ๊ฒ์ด๊ณ .
ํด๋น ๋น์์ ธ์๋ ๋ ธ๋๋ ์ต์ข ๋ ธ๋๊ฐ ๋ ๊ฒ์ด๋ค. (๊ฐ์ฅ ๋ง์ง๋ง์ ๋ฐฉ๋ฌธํ ๋ ธ๋์ด๊ธฐ์)
๊ทธ๋ ๊ฒ ์ฌ๊ท๋ฅผ ํตํด ๋์์ค๋ค๋ณด๋ฉด ๊ฐ๊ฐ์ ๋ ธ๋๋ค์ด ๋น์์ ธ์์ ๊ฒ์ด๊ณ ๋น์์ ธ์๋ ๋ ธ๋๋ค์ result ๋ฐฐ์ด์ ์ ์ฅํ๋ค.
์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ ๊ฐ์ฅ ๋ง์ง๋ง์ ๋ฐฉ๋ฌธํ ๋ ธ๋๋ถํฐ ์ถ๊ฐ๋ฅผ ํ์๊ธฐ์ result ๋ฐฐ์ด์ ๋ง์ง๋ง์ผ๋ก push๋๋ ๋ ธ๋๋ ์ถ๋ฐ์ง์ ์ด ๋ ๊ฒ์ด๋ค.
๊ฐ ๋ ธ๋๋ฅผ ๋ ๊ฐ์ฉ ๋ฌถ์ด ๊ฑฐ๊พธ๋ก ans 2์ฐจ์ ๋ฐฐ์ด์ ๋ฃ์ด์ฃผ๋ฉด ๋.
์ค๊ฐ์
pairs = [[1,2],[1,3],[2,1]]
์์ ๊ฐ์ด ์ฃผ์ด์ก์ ๋
1->3์ ๋จผ์ ๋ฐฉ๋ฌธํ์ ๋ ์ด๋ป๊ฒ ๋๋๊ฑฐ์ง ์๋ฌธ์ด ๋ค์์๋๋ฐ
3์ ๋จผ์ ๋ฐฉ๋ฌธํ๋ 2๋ฅผ ๋จผ์ ๋ฐฉ๋ฌธํ๋ ๊ฐ์ nodes[3]์ ๊ฐ์ ๋น์์ ธ์๊ธฐ์ ๋ฌด์กฐ๊ฑด result์ ์ฒซ๋ฒ์งธ๋ก ๋ฐฉ๋ฌธํ๊ฒ ๋ ๊ฒ ์ด๋ค.
2์ ๊ฒฝ์ฐ ๋ค์ 1 ๋ ธ๋๋ก ๋์์ค๊ธฐ ๋๋ฌธ์ด๋ค.
result = [3, 1, 2, 1] ๋ก ๋ ๊ฒ์ด๋ค.
์์ค ์ฝ๋
๐ ์๋กญ๊ฒ ์๊ฒ๋ ๋ด์ฉ
ํญ์ ์์ธ์ฌํญ์ ์๊ฐํ๊ณ ํ๋ค๋ณด๋ ๊ฐ๋จํ ๋ฌธ์ ์์์๋ ์กฐ๊ธ ์ค๋๊ฑธ๋ ธ๋ ๊ฒ ๊ฐ๋ค.