๐ก ๋๋ถ๋ถ์ ๋ด์ฉ์ Do it! ์๊ณ ๋ฆฌ์ฆ ์ฝ๋ฉํ ์คํธ with JAVA ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ ๋ฆฌํ์์ต๋๋ค.
์๊ฐ ๋ณต์ก๋
์๊ณ ๋ฆฌ์ฆ์์ ์๊ฐ ๋ณต์ก๋๋ ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ฐ์ฐ ํ์๋ฅผ ์๋ฏธํ๋ค. ์ผ๋ฐ์ ์ผ๋ก 1์ด์ 1์ต๋ฒ์ ์ฐ์ฐ์ ํ ์ ์๋ค.
๋ฌธ์ ์์ ์๊ฐ ์ ํ์ด 2์ด๋ผ๋ฉด, 2์ต ๋ฒ ์ดํ์ ์ฐ์ฐ ํ์๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ค!
- ์ฐ์ฐ ํ์๋ 1์ด์ 1์ต๋ฒ ์ฐ์ฐํ๋ ๊ฒ์ ๊ธฐ์ค์ผ๋ก ์๊ฐํ๋ค.
- ์๊ฐ์ ํ์ด 2์ด๋ผ๋ฉด, 2์ต๋ฒ ์ดํ์ ์ฐ์ ํ์๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ค!
์๊ฐ ๋ณต์ก๋ ํ์ฉ
์๊ฐ ๋ณต์ก๋๋ฅผ ๊ณ์ฐํ๋ ค๋จผ ๋ฐ์ดํฐ์ ๊ฐ์์ ์ ํ ์๊ฐ์ ๋ณด๋ฉด ๋๋ค.
๐ง [๋ฌธ์ 1] N๊ฐ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
- ์๊ฐ ์ ํ : 2์ด
- ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ ์ ๋๊ฐ์ด 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค. ์๋ ์ค๋ณต๋์ง ์๋๋ค.
- N(1 ≤ N ≤ 1,000,000)์ผ ๋, 1,000,000์ ์ง์คํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ ์๋ง์ ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ณํด์ผ ํ๋ค.
์ฐ์ฐ ํ์ ๊ณ์ฐ ๋ฐฉ๋ฒ
์๊ฐ ๋ณต์ก๋์ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ฅผ ๋์ ํ๋ฉด ์ฐ์ฐ ํ์๋ฅผ ์ป์ ์ ์๋ค.
์ [๋ฌธ์ 1]์์, ์๊ฐ ์ ํ์ด 2์ด์ด๋ฏ๋ก ์ฐ์ฐ ํ์๊ฐ 2์ต๋ฒ ์ดํ์ฌ์ผ ํ๋ค.
- ๋ฒ๋ธ ์ ๋ ฌ
- ์๊ฐ๋ณต์ก๋ : N^2
- ์ฐ์ฐ ํ์ : (100๋ง)^2
- ๋ณํฉ ์ ๋ ฌ
- ์๊ฐ๋ณต์ก๋ : NlogN
- ์ฐ์ฐ ํ์ : (100๋ง)log(100๋ง)
๋ฒ๋ธ ์ ๋ ฌ์ ์ฝ 10์ต ๋ฒ์ ์ฐ์ฐ ํ์๊ฐ ํ์ํ๋ฏ๋ก ๋ถ์ ํฉํ๋ค.
๋ณํฉ ์ ๋ ฌ์ ์ฝ 2์ฒ๋ง ๋ฒ(100๋ง์ 2์ ์ฝ 20์น)์ ์ฐ์ฐ ํ์๊ฐ ํ์ํ๋ฏ๋ก ์ ํฉํ๋ค.
๐ ๋ฐ์ดํฐ์ ํฌ๊ธฐ(N)์ ๋จ์๋ก ์ด์ฉํ์ฌ ์ ํฉํ ์๊ณ ๋ฆฌ์ฆ์ ์ถ์ธกํ ์ ์๋ค!
์๊ฐ ๋ณต์ก๋ ๋์ถ ๊ธฐ์ค
๋ด๊ฐ ์ง ์ฝ๋์ ์๊ฐ ๋ณต์ก๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ํ์ธํ๋ค.
- ์์๋ ์๊ฐ ๋ณต์ก๋ ๊ณ์ฐ์์ ์ ์ธํ๋ค.
- ์๊ฐ ๋ณต์ก๋๊ฐ 3N์ด๋ผ๊ณ ํ๋๋ผ๋, N์์ ์์ 3์ ์๊ฐ๋ณต์ก๋ ์ธก๋ฉด์์ ์ํฅ๋ ฅ์ด ์์ผ๋ฏ๋ก ๋ฌด์ํด๋ ๋๋ค. ๋ฐ๋ผ์ ์ ์ธํ๊ณ N์ด๋ผ๊ณ ์๊ฐํ๋ค.
- ๊ฐ์ฅ ๋ง์ด ์ค์ฒฉ๋ ๋ฐ๋ณต๋ฌธ์ ์ํ ํ์๊ฐ ์๊ฐ ๋ณต์ก๋์ ๊ธฐ์ค์ด ๋๋ค.
- 2์ค for๋ฌธ์ธ ๊ฒฝ์ฐ์ ์๊ฐ ๋ณต์ก๋๋ N^2์ด ๋๋ค๋ ์๋ฏธ์ด๋ค.
์ฃผ์ ์ฌํญ
- ์๋ง์ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ๊ธฐ
- ๋นํจ์จ์ ์ธ ๋ก์ง์ ์ฐพ์์ ํจ์จ์ ์ผ๋ก ๋ฐ๊พธ๊ธฐ
'Java > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ] DFS (๊น์ด ์ฐ์ ํ์) ์ BFS (๋๋น ์ฐ์ ํ์), ๊ทธ๋ฆฌ๊ณ Binary Search(์ด์ง ํ์) (1) | 2024.01.30 |
---|---|
[์๊ณ ๋ฆฌ์ฆ] ๊ตฌ๊ฐ ํฉ (0) | 2024.01.29 |
[์๊ณ ๋ฆฌ์ฆ] ๋ฐฐ์ด๊ณผ ๋ฆฌ์คํธ (0) | 2024.01.29 |