๐ ๋ฌธ์
๐ฑ ์์ด๋์ด
๋ถํ ์ ๋ณต์ ์ด์ฉํ ํ๋ ฌ์ ๊ณฑ ๋ฌธ์ , ํฐ ๋ฌธ์ ๋ฅผ ์์ ๋จ์๋ก ๋๋ ์ ํ์ด๋ณด์
๋ถํ ์ ๋ณต์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ์ ํฐ ๋ฌธ์ ๋ฅผ ์์ ๋จ์๋ก ๋๋ ์ ํธ๋ ๊ฒ์ด๋ค..
์๋ฅผ ๋ค๋ฉด N^8 ์ N*N*N*N*N*N*N*N ์ด๋ค. ์ฆ N์ 8๋ฒ ๊ณฑํด์ผ ํ๋ค. ๋ถํ ์ ๋ณต์ ํตํด ์์ ๋จ์๋ก ๋๋ ์ bottom up ๋ฐฉ์์ผ๋ก ํผ๋ค๋ฉด (((N^2)^2)^2) 3๋ฒ๋ง ์ฐ์ฐํ๋ฉด ๋๋ค. ์ด๋ O(logn)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ฉฐ
N^B, B๊ฐ ํด์๋ก ์ข์ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋ค.
๊ทธ๋ฆฌ๊ณ ํ๋ ฌ A์ ํ๋ ฌ B๋ฅผ ๊ณฑํ๋ค๋ฉด
A =
1 | 2 |
3 | 4 |
B =
5 | 6 |
7 | 8 |
A X B =
1*5+2*7 | 1*6+2*8 |
3*5+4*7 | 3*5+4*8 |
์์ ๊ฐ์ด ํ๋ ฌ๊ณฑ์ ๊ณผ ๋์์ ๋ถํ ์ ๋ณต์ผ๋ก ์์ ๋จ์ ~ ํฐ ๋จ์๋ก ๋ต์ ๋์ถํด์ผ ํ๋ค.
๐ฑ ์ฝ๋ ๋ฐ ํ์ด
๋ง์ฝ size /2 ๊ฐ ์ง์๋ผ๋ฉด ๊ทธ๋ฅ ํ๋ ฌ A * ํ๋ ฌ A ํด์ return ํ๋ฉด ๋ต์ ๊ตฌํ ์ ์์ง๋ง ํ์์ธ ๊ฒฝ์ฐ์๋
(A^2)^2 * A = A^5
์ ๊ณต์์ฒ๋ผ ์ ๊ณฑ์๊ฐ ํ์ ์ผ ๋๋( ํ๋ ฌ^2) * ์ด๊ธฐํ๋ ฌ ์ ํด์ฃผ๋ฉด ์ ๊ณฑ์๊ฐ ํ์์ธ ๋ต์ ๊ตฌํ ์ ์๋ค.
์ฝ๋์๋์ ๋ฐ๋ก๋ฅผ ์ ์ด๋จ๋๋ฐ ๊ฐ์ธ์ ์ผ๋ก ๊ตฌํ์ ์ ๊ฒฝ์ ์ด ๋๋จธ์ง ๊ฒฝ๊ณ๊ฐ์ ์์ธ์ฒ๋ฆฌ๋ฅผ ์ ๊ฒฝ ์ฐ์ง ๋ชปํ๋ค.
์๋งํ ์ ํ๋ฒ ํ ์คํธํด ๋ณด๋ ๊ฒ๋ ์ข์ ๊ฒ ๊ฐ๋ค.
๐ฑ ๋๋ ์
๋ค๋ฅธ ๋ถ๋ฅ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฐ์ตํ๋๋ผ ๋ถํ ์ ๋ณต์ด๋ผ๋ ๋ถ์ผ๋ ์์ฃผ ์ ํด๋ณด์ง ์์๋ค ๊ทธ๋์์ธ์ง ๋ถํ ์ ๋ณต์ผ๋ก ํด๊ฒฐํด์ผ๊ฒ ๋ค๋
์์ด๋์ด๋ฅผ ๋ ์ฌ๋ฆฌ์ง ๋ชปํ๋ค ์ญ์ ํธ์์ ์ ์ข๋ค. ์ด๋ฒ ๊ธฐํ์ ๋ถํ ์ ๋ณต, ํ๋ ฌ์ ๊ณฑ์ ๊ดํด ๋ฌธ์ ๋ฅผ ํ๋ฉด์
์ค๋๋ง์ ๊น๊ฒ ์ดํดํ๋ ค๊ณ ๋ ธ๋ ฅํ๋ค ์์ฃผ ํ์ด์ ๊น๋จน์ง ๋ง์์ผ๊ฒ ๋ค ใ ใ
'Algorithm > - Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] ๋ฐฑ์ค 1525 ํผ์ฆ (JAVA) (0) | 2024.03.19 |
---|---|
[BOJ] ๋ฐฑ์ค 1153 ๋ค ๊ฐ์ ์์ (JAVA) (1) | 2024.03.14 |
[BOJ] ๋ฐฑ์ค 6198 ์ฅ์ ์ ์ ๊พธ๋ฏธ๊ธฐ (JAVA) (2) | 2024.03.05 |
[BOJ] ๋ฐฑ์ค 1781 ์ปต๋ผ๋ฉด (JAVA) (2) | 2024.02.27 |
[BOJ] ๋ฐฑ์ค 1976 ์ฌํ ๊ฐ์ (JAVA) (4) | 2024.02.26 |
๋๋ง์ ๊ฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค!
ํฌ์คํ ์ด ์ข์๋ค๋ฉด "์ข์์โค๏ธ" ๋๋ "๊ตฌ๋ ๐๐ป" ํด์ฃผ์ธ์!