๐ ๋ฌธ์
๐ฑ ์์ด๋์ด
๋ฒ๋ธ์ํธ์ ํน์ง์ ํ์ฉํ์!
์ ๋ฌธ์ ๋ C++ ๋ฒ๋ธ ์ํธ ์ฝ๋๋ฅผ ์ ๊ณตํ๋ค. ์ ํ์ ์ธ ๋ฒ๋ธ ์ํธ ์๊ณ ๋ฆฌ์ฆ์ด๋ฉฐ O(N^2)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค
์ ๋ ฅ์ผ๋ก 1 <= N <= 500,000 ๋ฒ์๊ฐ ์ ๋ ฅ๋๊ธฐ ๋๋ฌธ์ ์๊ฐ์ ํ์ ์๋ํ ๋๋๋ค.
์ฆ , ์ ๋ฌธ์ ๋ ๋ฒ๋ธ ์ํธ๋ฅผ ๊ตฌํํ๋ ๋ฌธ์ ๊ฐ ์๋ ๋ฒ๋ธ ์ํธ์ ํน์ง์ ์ด์ฉํ๋ ๋ฌธ์ ์ด๋ค.
๊ฒฐ๊ตญ ์ ๋ ฌํ๋ ๋ฌธ์ ์ด๋ค ๋ฒ๋ธ ์ํธ์ ์ ๋ ฌ ํน์ง์ ์๊ฐํด ๋ณด์
์ค๋ฅธ์ชฝ -> ์ผ์ชฝ์ผ๋ก ์ซ์๊ฐ ์ด๋ํ ๋, ํ ํด์ ์ฐ์์ ์ผ๋ก ๋ค์์ ์นธ์ ์ด๋ํ๋ค.
์ผ์ชฝ <- ์ค๋ฅธ์ชฝ์ผ๋ก ์ซ์๊ฐ ์ด๋ํ ๋, ํ ํด์ ๋จ ํ ๋ฒ๋ง ์ด๋ํ๋ค.
์ ํน์ง์ ๋ดค์ ๋, ๊ฒฐ๊ตญ ๋ฒ๋ธ ์ํธ์ ์คํ ํ์๋ ์ผ์ชฝ <- ์ค๋ฅธ์ชฝ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์ด๋ํ๋ ์ซ์์ ์ข ์๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ป๊ฒ ๊ตฌํํ ๊น?
ํด๋น ์ซ์์ ์ ๋ ฅ๋ ์์น(์ธ๋ฑ์ค)๋ฅผ ์ ์ฅํ๊ณ , ํ ๋ฒ์ ์ ๋ ฌ ํ ํ์ฌ ์ซ์ ์์น(์ธ๋ฑ์ค) - ์๋ ์์น(์ธ๋ฑ์ค)์ ์ฐจ๋ฅผ ๊ตฌํ๋ค
๊ทธ์ค ๊ฐ์ฅ ํฐ ์ฐจ๊ฐ ๋ฐ๋ก ๋ฒ๋ธ์ํธ์ ์ ๋ ฌ ํ์๊ฐ ๋๋ค. ์ด์ ๊ตฌํํด ๋ณด์!
๐ฑ ์ฝ๋ ๋ฐ ํ์ด
class๋ฅผ ํ๋ ๋ง๋ค์ด์ ์ซ์, ์ธ๋ฑ์ค๋ฅผ ์ ์ฅํ๋ค. ์ ๋ ฌ์ ์ต์ ํ๋ฅผ ์ํด ์ฐ์ ์์ ํ๋ฅผ ์ฌ์ฉํ๋ค. ํ์ง๋ง ์ ์ํ ์ ์ด ์๋ค.
์ฐ์ ์์ ํ์์ ์ ๋ ฌํ๊ฒ ๋๋ฉด ์ซ์๊ฐ ๊ฐ์ ๋ ์ธ๋ฑ์ค ๋ฒํธ์ ์์๊ฐ ์ ๋ ฌ๋์ง ์๋๋ค.
๊ทธ๋ฌ๋ class๋ฅผ ์ ์ธํ ๋ ์ซ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋, ๊ฐ๋ค๋ฉด ์ธ๋ฑ์ค๊ฐ ๋ฎ์ ์์ผ๋ก ์ ๋ ฌ๋๊ฒ ์ค์ ํด์ผ ํ๋ค.
๐ฑ ๋๋ ์
๋ฒ๋ธ ์ํธ์ ๊ฐ๋ , ๊ตฌํ์ ํ๋ถ์ ๋ ๋ฐฐ์์ ์ฝ๊ฒ ์ดํดํ ์ ์์๊ณ ์์ฉํ ์ ์์๋ค, ๋ค์ ํ๋ฒ ํ๋ฉด์
๋ณต์ตํ๋ ๋๋์ด๋ผ ์ ๋ง ๋์ ๋๋ค, ์ฐ์ ์์ํ์ ํน์ง, ๋ฒ๋ธ์ํธ ํน์ง์ ๋์์ ๋ฐฐ์ธ ์ ์์ด์ ์ข์๋ค
'Algorithm > - Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] ๋ฐฑ์ค 17267 ์๋จ์ (JAVA) (0) | 2024.05.14 |
---|---|
[BOJ] ๋ฐฑ์ค 13334 ์ฒ ๋ก (JAVA) (0) | 2024.05.09 |
[BOJ] ๋ฐฑ์ค 31782 ์ ์ฒด์จ์ฆ (JAVA) (0) | 2024.04.30 |
[BOJ] ๋ฐฑ์ค 4195 ์น๊ตฌ ๋คํธ์ํฌ (JAVA) (1) | 2024.04.15 |
[BOJ] ๋ฐฑ์ค 27211 ๋๋ ํ์ฑ (JAVA) (0) | 2024.04.10 |
๋๋ง์ ๊ฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค!
ํฌ์คํ ์ด ์ข์๋ค๋ฉด "์ข์์โค๏ธ" ๋๋ "๊ตฌ๋ ๐๐ป" ํด์ฃผ์ธ์!