์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
17
ํฌ ํฌ์ธํฐ ๊ฐ๋
๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ค๋ช
^^
0. ๊ธ์ด ํ๋ฌ๊ฐ๋ ๋ฐฉํฅ๋จผ์ ๊ฐ๋
์ค๋ช
์ ํ๊ณ , ํฌ ํฌ์ธํฐ๋ฅผ ํ์ฉํ๋ ๋ํ์ ์ธ ๋ฌธ์ 2๊ฐ๋ฅผ ์ง์ ํ์ด๋ณด๋ฉฐ, ๊ฐ๋
์ ๋ํ ๋ณด์ถฉ์ ํ๊ฒ ๋ค.1. ๊ฐ๋
1์ฐจ์ ๋ฐฐ์ด์ ๋ ๊ฐ์ ํฌ์ธํฐ๋ฅผ ๋๊ณ , ๋ ํฌ์ธํฐ์ ์๋ฏธ๋ฅผ ๋ถ์ฌํ์ฌ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ธฐ์ ๋ฐฐ์ด ์์์ ํน์ ์กฐ๊ฑด์ ๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ์์, ์ผ๋ฐ์ ์ผ๋ก ์๊ฐ ๋ณต์ก๋๊ฐ O((N^{2}))๊ฐ ๋ ๋ค๋ฉด, ํฌ ํฌ์ธํฐ ๊ธฐ๋ฒ์ ํ์ฉํ๋ฉด ์๊ฐ ๋ณต์ก๋๋ฅผ O(N)์ผ๋ก ์ค์ผ ์ ์๋ค. (์ด์ ๋ ํ์ฉ์ ์ดํด๋ณด๋ฉฐ ์ค๋ช
ํ๊ฒ ๋ค.)(1) ์ ํํฌ ํฌ์ธํฐ๋ฅผ ์ด์ฉํ๋ ์ ํ์๋ ํฌ๊ฒ 2๊ฐ์ง๊ฐ ์๋ค.a.๋จ๋ฐฉํฅ ์ด์ฉL ํฌ์ธํฐ์ R ํฌ์ธํฐ๊ฐ ํ์ชฝ ๋ฐฉํฅ์ผ๋ก๋ง ์์ง์ด๋ ๊ฒ์ด๋ค. ์ฌ๋ผ์ด๋ฉ ์๋์ฐ์ ์๋์ ์๋ฏธํ๋ค๊ณ ๋ณด๋ฉด ๋๋ค. ์ฌ๋ผ์ด๋ฉ ์๋์ฐ์ ๋ค๋ฅธ ์ ์ ํฌ์ธํฐ์ ๋ฐ๋ผ ๊ตฌ๊ฐ์ ๊ธธ์ด๊ฐ ๊ฐ๋ณ์ ์ด๋ผ๋ ๊ฒ์ด๋ค.b. ์๋ฐฉํฅ ์ด..
2024.12.23
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
์ฌ๋ผ์ด๋ฉ ์๋์ฐ์ ๋ํ์ฌ
0. ์์๋ณผ ๊ฒ1. ์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋?๊ธธ์ด๊ฐ N์ธ 1์ฐจ์ ๋ฐฐ์ด์์ ๊ธธ์ด๊ฐ W์ธ ์์ง์ด๋ ๊ตฌ๊ฐ์ ์์ฑํ์ฌ, ํด๋น ๊ตฌ๊ฐ์ ํ ์นธ์ฉ ์์ง์ด๋ฉด์ ๊ตฌ๊ฐ ๋ด ์ ๋ณด๋ฅผ ์ถ์ถํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ธฐ์ (N๊ณผ W๋ ์์)W์ธ ๊ตฌ๊ฐ์ ์์ง์ด๋ ๊ฒ์ด ๋ง์น ์ฐฝ๋ฌธ์ ๋ฐ๊ณ ๋น๊ธฐ๋ ๊ฒ๊ณผ ๊ฐ๋ค๊ณ ํ์ฌ, ์์ง์ด๋ ๊ตฌ๊ฐ์ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ผ๊ณ ๋ช
๋ช
ํจ.2. ํ์ฉ(1) ๊ตฌ๊ฐํฉ1์ฐจ์ ๋ฐฐ์ด์์ ํน์ ๊ตฌ๊ฐ ๋ด์ ํฉ์ ์ํ๋ ๋ฌธ์ ์์ ํ์ฉ.a. ์ด๋ป๊ฒ ํ์ฉ?๋ฐฐ์ด์ ๊ธธ์ด๊ฐ N, ์ฌ๋ผ์ด๋ฉ ์๋์ฐ์ ๊ธธ์ด๊ฐ W์ด๊ณ ํด๋น ์ฐฝ๋ฌธ์ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ์ฉ ์์ง์ธ๋ค๋ฉด, ๋งค ์์ง์ ๋ง๋ค, ์ด์ ์์น์์์ W-1์ ์์๋ ๋ณํ์ง ์๊ณ ๊ตฌ๊ฐ ๋ด์ ์ ์ง๋๋ค. ์๋ฅผ ๋ค์ด N = 10, W = 3์ด๋ผ ๊ฐ์ ํ๋ฉด,๊ทธ๋ฆผ๊ณผ ๊ฐ์ด W-1์ธ 2๊ฐ์ ์์๋ ๋ณํ์ง ์์๋ค.์ด๋ฅผ ํ์ฉํด, ๋งจ ์ฒ..
2024.12.20
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
๐ค๊ตฌ๊ฐํฉ ์๊ณ ๋ฆฌ์ฆ
1. ๊ตฌ๊ฐํฉ ์๊ณ ๋ฆฌ์ฆ์ด๋?1์ฐจ์ ๋ฐฐ์ด์์ ํน์ ๊ตฌ๊ฐ ๋ด์ ์์๋ค์ ํฉ์ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.2. ์ ์จ์ผ ํ๋๊ฐ?์์ ์์์์ A์์ B๊น์ง์ ๊ตฌ๊ฐ ํฉ์ ๊ตฌํ๋ค๋ฉด, ์ด๋ป๊ฒ ๊ตฌํ ๊ฒ์ธ๊ฐ? ํน์๋ 2๋ฒ index๋ถํฐ 7๋ฒ index๊น์ง for ๋ฐ๋ณต๋ฌธ์ ํ์ฉํด ์ฐจ๋ก๋๋ก ๋ํ ๊ฒ์ด๋ค. ํน์๋ 0์์ A๋ฒ๊น์ง์ ๋์ ํฉ์ ๊ตฌํ๊ณ , 0~B๋ฒ๊น์ง์ ๋์ ํฉ์ ๊ตฌํด, ๋์ ๋นผ์ ๊ตฌํ ๊ฒ์ด๋ค. ๋ง์ฝ ๋จ์ผ ๊ณ์ฐ์ด๋ผ๋ฉด, ์ด๋ฐ ์์ ํ์ด๋ n๋ฒ์ ๋ฐ๋ณต์ผ ๋ฟ์ด๋ ๊ด์ฐฎ์ ์ ์๋ค. ํ์ง๋ง, ๋ฌธ์ ์์ ์ฌ๋ฌ ๊ฐ์ ๊ตฌ๊ฐํฉ์ ๋ฐํํ๊ธธ ๋ฐ๋๋ค๋ฉด? ๋งค๋ฒ ์ด๋ฌํ ๋ฐ๋ณต๋ฌธ์ ๋ฐ๋ณตํ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๋ค. ์ด๋ ์๊ฐ ์ด๊ณผ๋ก ์ด์ด์ง ์ ์๋ค.์๊ฐ ๋ณต์ก๋๋ก ๊ณ์ฐํด ๋ณด๊ฒ ๋ค. ์ต์
์ ์์ ํด์ผํ๋, N๊ฐ์ ์์๋ฅผ ๊ฐ์ง ๋ฐฐ์ด์์ 0~ N~1๊น์ง์ ๊ณ์ฐ์ K๋ฒ ๋ฐ..
2024.12.07
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
๐ค2์ฐจ์ ๋ฐฐ์ด ํ์ ๊ณต์
1
0. ์ฌ์ ์ ์ ์ํ ๋ณ์r๊ณผ c: ํน์ ์์์ ํ๊ณผ ์ด ์์นN: 2์ฐจ์ ๋ฐฐ์ด์ ํฌ๊ธฐ (2์ฐจ์ ๋ฐฐ์ด์ ์ ์ฌ๊ฐํ ํํ)1. ์๋ฆฌ90๋ ํ์ ์ ํ ๊ฒฝ์ฐ, ํ์ด ์ด์ด ๋๊ณ , ์ด์ด ํ์ด ๋๋ค. (์๋ก์ ์ญํ ์ด ๋ฐ๋)์๊ณ ๋ฐฉํฅ์ผ๋ก ํ์ ํ๋ฉด, Before(r,c) = After(c, n-1-r)๋ฐ์๊ณ ๋ฐฉํฅ์ผ๋ก ํ์ ํ๋ฉด, Before(r,c) = After(n-1-c, r)๊ฐ๊ฐ ์ญํ ์ ํ โ ํ๋๋ ๋์นญ ์ด๋, ํ๋๋ ๊ทธ๋๋ก ์ด๋ค. ์ ๊ทธ๋ ๊ฒ ๋๋๊ฐ ๊ทธ๋ฅ ํ์์ด๋ผ์ ๊ทธ๋ ๊ฒ ์๊ณ ๊ฐ์ผํ ๊ฒ ๊ฐ๋ค.
2024.12.07
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋
1. ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌด์์ธ๊ฐ์? ๐กGreedy Algorithm์ ๋งค ์ ํ์ ์๊ฐ๋ง๋ค ๋น์์ ๊ณ ๋ฅผ ์ ์๋ ์ต์ ์ ์ ํ์ง๋ฅผ ๊ณจ๋ผ๊ฐ๋ ๊ฒ์ด ์ ์ฒด์์ ๋ดค์ ๋ ์ต์ ์ ์ ํ์ด๋ผ๊ณ ๊ฐ์ ํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ํด๋ณด์.ํ์ฌ A์ ์์ ์์ ๊ณ ๋ฅผ ์ ์๋ ์ ํ์ง ์ค C๊ฐ ์ต๋จ๊ฑฐ๋ฆฌ์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก C๋ฅผ ์ ํํ๋ค.C ์์ ์์ ๊ณ ๋ฅผ ์ ์๋ ์ ํ์ง ์ค ์ต๋จ ๊ฑฐ๋ฆฌ๋ก ๊ฐ ์ ์๋ ๋
ธ๋๋ G์ด๋ค. ๋ฐ๋ผ์ G๋ฅผ ์ ํํ๋ค. ๋๋ฒ์ ์ ํ ํ ๋ฌด์กฐ๊ฑด F๋ฅผ ๋น์ฉ 0์ผ๋ก ๊ฐ ์ ์๋ค๊ณ ํ ๋, ์ ์ฒด ๋
ธ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.๋งค ์๊ฐ ๊ฐ ์ ์๋ ์ต์ ์ ์ ํ์ง๋ฅผ ๊ณจ๋๋๋ ์ ์ฒด์์ ๋ดค์ ๋๋ ์ต์ ์ ์ ํ์ด์๋ค. ์ด์ ๊ฐ์ด ๋งค ์๊ฐ์ ์ต์ = ์ ์ฒด์ ์ต์ ์ด ์ฑ๋ฆฝํ ๋, ์ด๋ฌํ ๋
ผ๋ฆฌ๋ฅผ Greedy ์๊ณ ๋ฆฌ์ฆ์ด๋ผ ํ๋ค..
2024.11.07
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ๋ฐฉ๋ฒ (Java)
4. ๊ตฌํ(1) ์์ฐจ ํ์์ ๋ฒ ๊ฒ์๊ธ์์ ์ค๋ช
ํ ์๋์๋ฆฌ ๊ทธ๋๋ก ๊ตฌํํ ๋ฐฉ์์ด๋ค.๋ฐฉ๋ฌธํ ์ ์ ๊ณผ ๊ทธ๋ ์ง ์์ ์ ์ ๊ตฌ๋ถ์ ์ํด์, ๋ฐฉ๋ฌธ๋ฐฐ์ด์ ์ฌ์ฉํ๋ค.ํ์ฌ ์ ์ ์์ ๊ฐ ์ ์๋ ๊ฐ์ ์ ํตํด dist[] ๋ฐฐ์ด์ ์ต์ ํํ๊ณ , ๋ฐฉ๋ฌธ ๋ฐฐ์ด์ ํตํด, ํ์ฌ๊น์ง ๋ฐฉ๋ฌธํ์ง ์์ ์ ์ ์ค ์์ ์ ์ ์์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ก ๊ฐ ์ ์๋ ์ ์ ์ ํํด์ผ ํ๋ค.์ฌ๊ธฐ์ ์ต์
์ ๊ฒฝ์ฐ, ์ ์ ์ ์๊ฐ N๊ฐ๋ผ๋ฉด, ๋งค๋ฒ N๋ฒ์ ์ ์ ์ ํ์ํด ๋ค์ ๋ฐฉ๋ฌธํด์ผํ ์ ์ ์ ์ฐพ์์ผ ํ๊ณ , ์ด ํ์๋ฅผ ๋ชจ๋ ์ ์ ์ ๋ฐฉ๋ฌธํ ๋๊น์ง ๋ฐ๋ณตํด์ผ ํ๋ฏ๋ก ์ต์
์ ์๊ฐ๋ณต์ก๋๋ O(N^2)์ด ๋ ๋ค.import java.io.*;import java.util.*;public class ์์ฐจํ์_๋ค์ต์คํธ๋ผ { static int [] dist = new int [N]; ..
2024.10.18
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋
1. ๊ฐ๋
(1) What? ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ด ๋ฌด์์ธ๊ฐ์? ๐ก๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ํ ์ ์ ์์ ๋ค๋ฅธ ์ ์ ์ผ๋ก ๊ฐ๋ ์ต๋จ ๊ฑฐ๋ฆฌ ๋น์ฉ์ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.๋ค์ต์คํธ๋ผ๋ฅผ ์ฌ์ฉํ๋ฉด ์์ ์ ์ S์์ ์ง,๊ฐ์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ ์ ์ผ๋ก ๊ฐ๋ ์ต๋จ ๊ฑฐ๋ฆฌ ๋น์ฉ์ ํ ๋ฒ์ ๊ตฌํ ์ ์๋ค.(2) Why? ์ ํด๋น ์๊ณ ๋ฆฌ์ฆ์ ์จ์ผ ํ๋์? ๐ค๐ญํด๋น ์๊ณ ๋ฆฌ์ฆ์ ์ฒ์ ์ ํ๋ค๋ฉด ์๋ง ์ง๊ธ๊น์ง ๊ฐ์ค์น๊ฐ ์๋ ๊ทธ๋ํ์ ๋ํด์ ์ ์ ๊ฐ์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ๋ง ์ ํด์์ ๊ฐ๋ฅ์ฑ์ด ๋๋ค. ๊ฐ์ค์น๊ฐ ์๋ ๊ทธ๋ํ์์์ ์ ์ ๊ฐ์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ BFS๋ฅผ ํ์ฉํ๋ฉด ์ฝ๊ฒ ํ๋ ธ๋ค. ์๋ํ๋ฉด ์ ์ ์ฌ์ด๋ฅผ ์๋ ๊ฐ์ ์ ๊ฐ์๊ฐ ๊ณง ๋น์ฉ์์ผ๋ก BFS๋ฅผ ๋๋ ธ์ ๋, ๋ง๋๊ธฐ๊น์ง ์ฌ์ฉํ๋ ๊ฐ์ ์ ๊ฐ์๋ง ์ธ๋ฉด ๋์๊ธฐ ๋๋ฌธ์ด๋ค.ํ์ง๋ง ๊ฐ์ค์น๊ฐ ์๋ ๊ทธ๋..
2024.10.09
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
์ต๋๊ณต์ฝ์(GCD)์ ์ต์๊ณต๋ฐฐ์(LCM)์ ๊ด๊ณ
GCD์ LCM์ ๊ด๊ณA์ B์ ์ต๋๊ณต์ฝ์๋ฅผ G, ์ต์๊ณต๋ฐฐ์๋ฅผ 'L'์ด๋ผ ํ ๋, ๋ค์ ์์ด ์ฑ๋ฆฝํ๋ค.(A*B)/G = LWHY? ์ Lcm = G*a*b ์์?์ต์๊ณต๋ฐฐ์๋ ๋ ์ A,B์ ๊ณตํต๋ ๋ฐฐ์ ์ค ์ต์๊ฐ์. ์ต์๊ฐ ๋๋ ค๋ฉด, ๋ถํ์ํ ๊ณ์ฐ์ด ์์ด์ผํจ. ์๋ก๊ฐ ํ์๋ก ํ๋ ์ต์์ ๊ฐ์ธ ์๋ก์๋ง ๊ณฑํ์ฌ ํํํ๋ฉด ๊ทธ๊ฒ์ด ์ต์๊ณต๋ฐฐ์๋ค.
2024.09.24
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก