CS33 ์ ์์๋ช ๊ณผ ๋์ ์๋ฆฌ ์ ์์๋ช ์ ์์๋ช ์ ํ๋ก๊ทธ๋จ, ๋๋ผ์ด๋ฒ, ์๋น์ค ๋ฑ ์ฌ๋ฌ ๋งค์ฒด๋ค์ด ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ ์ธ์ฆํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์๋ช ์ด๋ค. ์์ ํ ํ์ผ์ด๋ ๋๋ผ์ด๋ฒ์์ ์ธ์ฆํ๊ธฐ ์ํด Code-Signing๊ณผ ๊ฐ์ ์์ ๋ ์ ์์๋ช ์ด๊ณ … ์น์ฌ์ดํธ๊ฐ ์์ ํ๋ค๋ ๊ฒ์ ์ธ์ฆ ๋ฐ๊ธฐ ์ํด SSL์ ์ ์ฉํ๋ ๊ฒ๋ ์ ์์๋ช ์ด๊ณ ์ธ์ฆ์์ Timestampingํ๋ ๊ฒ๋ ์ ์์๋ช ์ด๋ค. ์ฆ, ์์ ํ๋ค๋ ๊ฒ์ ์ธ์ฆํ๊ธฐ ์ํ ํ์๊ฐ ์ ์์๋ช ์ ํฌ๊ด์ ์ธ ์๋ฏธ์ด๋ค. ์์ ์ด๋ฏธ์ง๋ ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์์ SSL์ ์ ์ฉํ ์ธ์ฆ์์ ๋ํ ํ์ธํ๋ ๋ฐฉ๋ฒ์ด๋ค. https๊ฐ ์ ์ฉ๋์ด ์๋ฌผ์ ์์ด์ฝ์ด ์์ผ๋ฉด SSL์ด ์ ์ฉ๋ ์ฌ์ดํธ๋ผ๋ ํ์์ด๋ค. ์ธ์ฆ์๋ฅผ ํ์ธํด๋ณด๋ฉด ์ธ์ฆ์ 3๊ฐ๊ฐ ์ฐ๊ฒฐ๋์ด ์๋๊ฒ์ ํ์ธํ ์ ์๋ค. ์ด๋ ์ธ์ฆ์ ์ฒด์ธ์ด๋ผ๊ณ ํ๋๋ฐ ๊ฐ์ฅ ์๋จ์ .. 2021. 10. 6. ๋์นญํค / ๋น๋์นญํค ์๋ฐฉํฅ ์ํธํ ๊ธฐ๋ฒ ์๋ฐฉํฅ ์ํธํ ์ด์ ๊ธ์์๋ ๋ดค๋ ๋จ๋ฐฉํฅ ์ํธํ ๊ธฐ๋ฒ๊ณผ ๋ฐ๋๋ก... ๋์นญํค์ ๋น๋์นญํค๋ ์๋ฐฉํฅ ์ํธํ ๋ฐฉ์ ์ด๋ค. Hash๋ฅผ ์ฌ์ฉํ ๋จ๋ฐฉํฅ ์ํธํ ๋ฐฉ์๊ณผ๋ ๋ค๋ฅด๊ฒ ์ํธํ๋ ์ํธ๋ฌธ์ ๋ณตํธํํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋์นญํค : ์ํธํ, ๋ณตํธํ์ ์ฌ์ฉ๋๋ ํค๊ฐ ๋์ผํ๋ค. ๋น๋์นญํค : ์ํธํ, ๋ณตํธํ์ ์ฌ์ฉ๋๋ ํค๊ฐ ๋ค๋ฅด๋ค. ์ํธํ์ ๋ณตํธํ์ ์ฌ์ฉ๋๋ ํค๋ค์ ์ค์ฒด๋ ๋์ฒด๋ก ํ์ผํํ๋ก ๋์ด์๊ณ ์ด์ด๋ณด๋ฉด ์ํธํ๋ ๊ฐ์ด ์๋ค. ๋์นญํค ์ํธํ ์๋ฐฉํฅ ์ํธํ ๋ฐฉ์ ์ค์ ๋๋ฆฌ ์ฌ์ฉํ๋ ๋์นญํค๋ ์ํธํ์ ๋ณตํธํ์ ๊ฐ์ ์ํธ ํค๋ฅผ ์ฐ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋น๊ต ์์ 2์ฐจ ์ธ๊ณ๋์ ๋ ๋ ์ผ ์คํ์ด๋ค์ ๋ชจ์ค๋ถํธ๋ฅผ ์ด์ฉํด์ ๋ฏผ๊ฐํ ๊ตฐ์ฌ ์ ๋ณด๋ฅผ ์ํธํํด์ ์๋ก ์ ๋ฌ์ ํ๋ค. ์ฌ๊ธฐ์ ์ค๊ฐ์ ์ด ๋ชจ์ค ๋ถํธ๋ก ์ํธํ๋ ์ ๋ณด๋ฅผ ๊ฐ๋ก์ฑ๋ค๊ณ ํ๋๋ผ.. 2021. 10. 6. Hash ๋จ๋ฐฉํฅ ์ํธํ ๊ธฐ๋ฒ Hash ํด์๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ๋ฒ ์ค ํ๋์ด๋ค. ํด์์ ๊ฐ์ฅ ํฐ ํน์ง์ ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ์๊ด์์ด… ํด์ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ์ป๋ ํด์๊ฐ์ ํญ์ ๊ณ ์ ๋ ๊ธธ์ด๋ฅผ ๋ฐํํ๋ค. ์ด๋ฐ ํน์ง์ ๊ฐ๊ณ ๋ณด์์ ์ธ ๊ด์ ์์๋ ๋จ๋ฐฉํฅ ์ํธํ์ผ๋ก ์ฌ์ฉ ํ ์ ์๋ค. ์ฉ์ด ์ ๋ฆฌ ์ฉ์ด ์ค๋ช ํด์ ํจ์(์๊ณ ๋ฆฌ์ฆ) ์์์ ํฌ๊ธฐ์ ๋ฐ์ดํฐ๋ฅผ input๊ฐ์ผ๋ก ๊ณ ์ ๋ ๊ธธ์ด์ output(ํด์๊ฐ)์ผ๋ก ๋ฐํํด์ฃผ๋ ํจ์ ํด์ ๊ฐ ํด์ ์๊ณ ๋ฆฌ์ฆ์ ์ํด ์ป์ ๋ฐ์ดํฐ. ํด์์ฝ๋, ํด์ ์ฒดํฌ์ฌ ์ด๋ผ๊ณ ๋ ํ๋ค. ํด์ฑ ํด์ ์๊ณ ๋ฆฌ์ฆ์์ ํด์๊ฐ์ ๋งคํํ๋ ๊ณผ์ ํด์์ ํน์ง ํด์ ์๊ณ ๋ฆฌ์ฆ์ ์๋์ ๊ฐ์ ๋ช๊ฐ์ง ์ค์ ํน์ง๋ค์ด ์๋ค. ๊ณ ์ ๋ ๊ธธ์ด hash(10GB Data) = '84960594d762e2534b56c2e8f8b2a3f6770e1ae8e13d255.. 2021. 10. 6. ๋ฐฑ์ค 2839 ํ์ด์ฌ - ์คํ ๋ฐฐ๋ฌ - ๋์ ๊ณํ๋ฒ ๋ฐฑ์ค 2839 ํ์ด์ฌ https://www.acmicpc.net/problem/2839 2839๋ฒ: ์คํ ๋ฐฐ๋ฌ ์๊ทผ์ด๋ ์์ฆ ์คํ๊ณต์ฅ์์ ์คํ์ ๋ฐฐ๋ฌํ๊ณ ์๋ค. ์๊ทผ์ด๋ ์ง๊ธ ์ฌํ๊ฐ๊ฒ์ ์คํ์ ์ ํํ๊ฒ Nํฌ๋ก๊ทธ๋จ์ ๋ฐฐ๋ฌํด์ผ ํ๋ค. ์คํ๊ณต์ฅ์์ ๋ง๋๋ ์คํ์ ๋ด์ง์ ๋ด๊ฒจ์ ธ ์๋ค. ๋ด์ง๋ 3ํฌ๋ก๊ทธ www.acmicpc.net Nํฌ๋ก๊ทธ๋จ์ ์คํ์ด ์ฃผ์ด์ก์ ๋, ์คํ์ ๋ด๊ธฐ ์ํด 3ํค๋ก๊ทธ๋จ๊ณผ 5ํค๋ก๊ทธ๋จ ๋ด์ง๋ก ๊ฐ์ฅ ์ ์ ์์ ๋ด์ง๋ฅผ ๋ง๋ค์ด ๋ด๋ ๋ฐฉ๋ฒ์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ์ด ๋ฌธ์ ๋ ๊ณ์ฐ ํ์๋ฅผ ์ค์ด๊ธฐ ์ํด ์ด์ ์ ๊ณ์ฐํ๋ ๊ฐ์ ๊ธฐ์ตํด๋๋ค๊ฐ ์ฌ์ฌ์ฉํ๋ ๋ฉ๋ชจ์ด์ ์ด์ ์ ํ์ฉํ๋ ๊ฒ์ด ์ ๋นํ๋ค๊ณ ํ๋จํ์ต๋๋ค. 3 ~ Nํฌ๋ก๊ทธ๋จ๊น์ง ์์ ์ซ์๋ถํฐ... ๊ฐ๊ฐ ๊ฐ์ฅ ์ ์ ์์ ๋ด์ง๋ฅผ ์ ์ฅํด๋๋ฉด... ํด๋น ๊ฐ๋ณด๋ค 3, 5 ํฐ .. 2021. 10. 5. [๋ฐฑ์ค 11724 ์ฐ๊ฒฐ ์์์ ๊ฐ์] ํ์ด์ฌ BFS ๋๋น ์ฐ์ ํ์ ํ์ด ์ฐ๊ฒฐ ์์์ ๊ฐ์ ๋ฌธ์ 11724๋ฒ: ์ฐ๊ฒฐ ์์์ ๊ฐ์ ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N๊ณผ ๊ฐ์ ์ ๊ฐ์ M์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์ ๊ฐ์ ์ ์ ๋์ u์ v๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ u, v ≤ N, u ≠ v) ๊ฐ์ ๊ฐ์ ์ ํ ๋ฒ๋ง ์ฃผ๏ฟฝ๏ฟฝ www.acmicpc.net ๋ฑกํฅ ์์ ์๋ฐฉํฅ ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ก์ ๋ ์ฐ๊ฒฐ ์์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ ๋๋ค. ๋ฌธ์ ํ์ด ์ฐ๊ฒฐ ์์๋ฅผ ๊ตฌํ๋ ๊ฒ์ ์ฆ ๋ช๊ฐ์ ๊ตฌ์ญ์ผ๋ก ๋๋์ด์ ธ ์๋์ง ๊ตฌํ๋ ๋ฌธ์ ์ ๋๋ค. ๊ทธ๋ํ๋ฅผ ์์ ๊ฐ์ด ํํํ์๋ 2๊ฐ์ ์์ญ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. DFS, BFS ๋ชจ๋ ์ฌ์ฉํด์ ํ์ ์๋ ๋ฌธ์ ์ ๋๋ค. ๋๋น ์ฐ์ ํ์ BFS๋ก ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๊ฒ ์ต๋๋ค. 1. ๊ทธ๋ํ ์ฐ๊ฒฐ ์ ๋ณด์ฉ ํ๋ ฌ ์์ฑ 2. BFS.. 2020. 9. 28. [๋ฐฑ์ค 1012 ์ ๊ธฐ๋ ๋ฐฐ์ถ] ํ์ด์ฌ BFS ๋๋น ์ฐ์ ํ์ ํ์ด ์ ๊ธฐ๋ ๋ฐฐ์ถ ๋ฌธ์ 1012๋ฒ: ์ ๊ธฐ๋ ๋ฐฐ์ถ ์ฐจ์ธ๋ ์๋์ธ ํ๋๋ ๊ฐ์๋ ๊ณ ๋ญ์ง์์ ์ ๊ธฐ๋ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๊ธฐ๋ก ํ์๋ค. ๋์ฝ์ ์ฐ์ง ์๊ณ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๋ ค๋ฉด ๋ฐฐ์ถ๋ฅผ ํด์ถฉ์ผ๋ก๋ถํฐ ๋ณดํธํ๋ ๊ฒ์ด ์ค์ํ๊ธฐ ๋๋ฌธ์, ํ๋๋ ํด์ถฉ ๋ฐฉ์ง์ ๏ฟฝ www.acmicpc.net 2์ฐจ์ ๋ฐฐ์ด์ ์ ๊ธฐ๋ ๋ฐฐ์ถ๋ฐญ์ด ์ฃผ์ด์ง๊ณ 0(๋ ) ๊ณผ 1(๋ฐฐ์ถ ์ฌ์ด์ ธ ์๋ ๋ )๋ก ๋ฐ์ดํฐ๊ฐ ๊ตฌ๋ถ๋ฉ๋๋ค. ๋ฐฐ์ถํฐ ์ง๋ ์ด๋ฅผ ๋ฐฐ์ถ์ ์์ํ๊ฒ ํ๋ฉด ์ฌ๋ฐฉ๋ฉด์ผ๋ก ์ด๋์ด ๊ฐ๋ฅํ์ฌ ๋ค๋ฅธ ๋ฐฐ์ถ๋ฅผ ํด์ถฉ์ผ๋ก๋ถํฐ ๋ณดํธ๊ฐ ๊ฐ๋ฅํ๋ค. ํ์ํ ๋ฐฐ์ถํฐ ์ง๋ ์ด์ ๋ง๋ฆฌ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ ๋๋ค. ์ ๋ ฅ ๋ฐ๋ ์ ๋ณด๋ก ์๋์ ๊ฐ์ด ๋ฐฐ์ถ ๋ฐญ์ 2์ฐจ์ ๋ฐฐ์ด ํํ๋ก ๋ง๋ค์ด ์ฃผ์ด์ผ ํฉ๋๋ค. ๋ฌธ์ ํ์ด 4๋ฐฉ๋ฉด์ผ๋ก ์ด๋์ด ๊ฐ๋ฅํ๋ฏ๋ก ๊ฐ ์์ญ๋น ํ๋ง๋ฆฌ์ ๋ฐฐ์ถํฐ ์ง๋ ์ด๋ฅผ ๋ฐฐ์นํ๋ฉด ํด๊ฒฐํ ์ ์์ต๋๋ค. ์ฆ, .. 2020. 9. 28. [๋ฐฑ์ค 10026 ์ ๋ก์์ฝ] ํ์ด์ฌ BFS ๋๋น ์ฐ์ ํ์ ํ์ด ์ ๋ก์์ฝ ๋ฌธ์ 10026๋ฒ: ์ ๋ก์์ฝ ์ ๋ก์์ฝ์ ๋นจ๊ฐ์๊ณผ ์ด๋ก์์ ์ฐจ์ด๋ฅผ ๊ฑฐ์ ๋๋ผ์ง ๋ชปํ๋ค. ๋ฐ๋ผ์, ์ ๋ก์์ฝ์ธ ์ฌ๋์ด ๋ณด๋ ๊ทธ๋ฆผ์ ์๋ ์ฌ๋์ด ๋ณด๋ ๊ทธ๋ฆผ๊ณผ๋ ์ข ๋ค๋ฅผ ์ ์๋ค. ํฌ๊ธฐ๊ฐ N×N์ธ ๊ทธ๋ฆฌ๋์ ๊ฐ ์นธ์ R(๋นจ๊ฐ), G(์ด๋ก) www.acmicpc.net RGB 3๊ฐ์ง ๋ฌธ์๋ก ์ด๋ฃจ์ด์ง N * N ๋ณด๋ํ์ด ์ฃผ์ด์ง๋ ์ผ๋ฐ์ฌ๋๊ณผ ์ ๋ก์์ฝ์ธ ์ฌ๋์ด ๋ณด๋ ๊ตฌ์ญ์ ์๋ฅผ ๊ฐ๊ฐ ๊ตฌํ๋ ๋ฌธ์ ์ ๋๋ค. ์ ๋ก์์ฝ์ R๊ณผ G๋ฅผ ํ๋์ ์์ผ๋ก ๋ณด์ ๋๋ค. ์ฆ, ์๋์ ๊ฐ์ด ๊ตฌ์ญ์ด ๋๋๊ฒ ๋ฉ๋๋ค. ๋ฌธ์ ํ์ด 2์ฐจ์ ๋ฐฐ์ด์ ์์ญ์ ๊ตฌํ๋ ๋ฌธ์ ๋ก BFS ๋๋น ์ฐ์ ํ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ ํ๋ฉด ๋ ๊ฒ์ผ๋ก ํ๋จํ์ต๋๋ค. ๋จ, 2๊ฐ์ง ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ 2๊ฐ์ง ๋ฒ์ ์ ๋ฐฐ์ด์ ๋ง๋ค์ด์ฃผ๊ณ ํ์ํ๋ ๋ฐฉ์์ ์ ํํ์ต๋๋ค. N์ ์ต๋ .. 2020. 9. 27. ๋ฐฑ์ค 14500๋ฒ ํ ํธ๋ก๋ฏธ๋ ธ ์์ ํ์(brute-force) ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ :: ์ฝ๋์๋ชฝ [๋ฐฑ์ค] 14500๋ฒ ํ ํธ๋ก๋ฏธ๋ ธ 14500๋ฒ: ํ ํธ๋ก๋ฏธ๋ ธ ํด๋ฆฌ์ค๋ฏธ๋ ธ๋ ํฌ๊ธฐ๊ฐ 1×1์ธ ์ ์ฌ๊ฐํ์ ์ฌ๋ฌ ๊ฐ ์ด์ด์ ๋ถ์ธ ๋ํ์ด๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํ๋ค. ์ ์ฌ๊ฐํ์ ์๋ก ๊ฒน์น๋ฉด ์ ๋๋ค. ๋ํ์ ๋ชจ๋ ์ฐ๊ฒฐ๋์ด ์์ด์ผ ํ๋ค. ์ ์ฌ๊ฐํ์ ๋ณ๋ผ๋ฆฌ ์ฐ๊ฒฐ๋์ด ์์ด์ผ ํ๋ค. ์ฆ, ๊ผญ์ง์ ๊ณผ ๊ผญ์ง์ ๋ง ๋ง๋ฟ์ ์์ผ๋ฉด ์ ๋๋ค. ์ ์ฌ๊ฐํ 4๊ฐ๋ฅผ ์ด์ด ๋ถ์ธ ํด๋ฆฌ์ค๋ฏธ๋ ธ๋ ํ ํธ๋ก๋ฏธ๋ ธ๋ผ๊ณ ํ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ 5๊ฐ์ง๊ฐ ์๋ค. ์๋ฆ์ด๋ ํฌ๊ธฐ๊ฐ N×M์ธ ์ข ์ด ์์ ํ ํธ๋ก๋ฏธ๋ ธ ํ๋๋ฅผ ๋์ผ๋ ค๊ณ ํ๋ค. ์ข ์ด๋ 1×1 ํฌ๊ธฐ์ ์นธ์ผ๋ก ๋๋ www.acmicpc.net ํ์ด ์ด๋ฐ ๋ธ๋ก ํํ์ ๋ฌธ์ ๊ฐ ๋์ค๋ฉด ์ค์ ๋ก ๋ํ์ ๊ทธ๋ ค๋ณด๋ฉด์ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ธ ๊ฒ ๊ฐ๋ค. ๋จผ์ N*M ํฌ๊ธฐ์ ์ข ์ด ์์ ๋ธ๋ก ํ๋๋ง ๋๋๋ค๊ณ ํ์ผ๋.. 2019. 12. 23. ๋ฐฑ์ค 2309๋ฒ ์ผ๊ณฑ ๋์์ด ์์ ํ์(brute-force) ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ :: ์ฝ๋ ์๋ชฝ ์์ ํ์ Brute-Force ์์ ํ์์ ๋ง ๊ทธ๋๋ก ๋ชจ๋ ๊ฒฝ์ฐ์์๋ฅผ ์ผ์ผ์ด ํ์ํ์ฌ ์ ๋ต์ ์ฐพ์๋ด๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๊ฐ๋ฅํ ๋ฐฉ๋ฒ์ ๋ชจ๋ ํ์ธํ์ฌ ์ ํ๋๊ฐ ๋๊ณ ๊ฐ๋ ฅํ ๋ฐฉ์์ด์ง๋ง, ์๊ฐ์ ๋ค์ ์ค๋ ๊ฑธ๋ฆฌ๋ ๋จ์ ์ด ์์ต๋๋ค. ๊ทธ๋์ ๋ธ๋ฃจํธ ํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ฌธ์ ์ ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ์๋ฅผ ๋จผ์ ๊ณ์ฐ์ ํด๋ด์ผํ๋ค. ์ปดํจํฐ๊ฐ 1์ด์ ๋๋ต 1์ต ๋ฒ ์ ๋์ ์ผ์ ํ ์ ์๋ค๊ณ ํ๋ค. ํจ์จ์ฑ์ ๊ณ ๋ คํ์ฌ ๋ธ๋ฃจํธ ํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฌธ์ ๋ฅผ ์ ๊ทผํ ๊ฒฝ์ฐ ๊ธฐ์ค์ ์ ํด์ฃผ๋ ๊ฒ์ด ์ข๋ค. ์๋ฅผ ๋ค์ด "์ฒ๋ง(10,000,000) ๊ฑด ์ดํ์ ๊ฒฝ์ฐ ์๊ฐ ์กด์ฌํ ๋๋ง ๋ธ๋ฃจํธ ํฌํธ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๊ฒ ๋ค."๋ผ๋ ๊ธฐ์ค์ ์ ํ๊ณ ๋ฌธ์ ๋ฅผ ์ ๊ทผํ๋ ๊ฒ์ด ์ ๋ฆฌํ๋ค. [๋ฐฑ์ค] 2309๋ฒ ์ผ๊ณฑ ๋์์ด 2309๋ฒ: ์ผ๊ณฑ ๋์์ด ์ํ ๊ฐ์ ์ค์ ๊ฑธ.. 2019. 12. 23. ์์(Prime Number) ๊ตฌํ๊ธฐ ํจ์จ์ ์๊ณ ๋ฆฌ์ฆ :: ์ฝ๋์๋ชฝ ์์(Prime Number) ์์๋ ์์ ๋ณด๋ค ์์ ๋๊ฐ์ ์์ฐ์๋ฅผ ๊ณฑํ์ฌ ๋ง๋ค ์ ์๋ 1๋ณด๋ค ํฐ ์์ฐ์์ด๋ค. ex) 5๋ 5*1 ๋๋ 1*5๋ก ์๋ฅผ ๊ณฑํฉ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ด ๊ทธ ์ ์์ ์ ํฌํจํ๊ธฐ ๋๋ฌธ์ 5๋ ์์์ด๋ค. ์์ (์๋ก ) - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ . ์ข์ธก์ ์์, ์ฐ์ธก์ ํฉ์ฑ์. ์์๋ ์์ ๋ณด๋ค ์์ ๋ ์์ฐ์๋ฅผ ๊ณฑํ์ฌ ๋ง๋ค ์ ์๋ 1๋ณด๋ค ํฐ ์์ฐ์์ด๋ค. ์์(็ด ๆธ, ๋ฐ์: [์์ค], ๋ฌธํ์ด: ์จ์, ์์ด: prime number)๋ ์์ ๋ณด๋ค ์์ ๋ ๊ฐ์ ์์ฐ์๋ฅผ ๊ณฑํ์ฌ ๋ง๋ค ์ ์๋ 1๋ณด๋ค ํฐ ์์ฐ์์ด๋ค. ์๋ฅผ ๋ค์ด, 5๋ 1x5 ๋๋ 5x1๋ก ์๋ฅผ ๊ณฑํ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ด ๊ทธ ์ ์์ ์ ํฌํจํ๊ธฐ ๋๋ฌธ์ 5๋ ์์์ด๋ค. ๊ทธ๋ฌ๋ .. 2019. 12. 22. ์ต๋๊ณต์ฝ์(GCD), ์ต์๊ณต๋ฐฐ์(LCM) ๊ตฌํ๊ธฐ ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ ์๊ณ ๋ฆฌ์ฆ :: ์ฝ๋์๋ชฝ ์ต๋๊ณต์ฝ์ GCD(Greatest Common Divisor) ์ต๋๊ณต์ฝ์๋ ๋ ์์ฐ์์ ๊ณตํต๋ ์ฝ์ ์ค ๊ฐ์ฅ ํฐ ์๋ฅผ ์๋ฏธํ๋ค. ex) 72 ์ 30์ ์ต๋๊ณต์ฝ์๋ 6์ด๋ค. ์ต์๊ณต๋ฐฐ์ LCM(Least Common Multiple) ์ต์๊ณต๋ฐฐ์๋ ๋ ์์ฐ์์ ๊ณตํต๋ ๋ฐฐ์ ์ค ๊ฐ์ฅ ์์ ์๋ฅผ ์๋ฏธํ๋ค. ์ต์๊ณต๋ฐฐ์ = ๋ ์์ฐ์์ ๊ณฑ / ์ต๋๊ณต์ฝ์ ex) 72 ์ 30์ ์ต์๊ณต๋ฐฐ์๋ 360์ด๋ค. ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ(Euclidean Algorithm) 2๊ฐ์ ์์ฐ์๋ฅผ ๋ฐ์ ์ต๋๊ณต์ฝ์๋ฅผ ๋ฐ๊ธฐ ์ํด 2๋ถํฐ ๋ ์์ฐ์ ์ค ์์ ์์ฐ์๊น์ง ๋ชจ๋ ๋๋์ด๋ณด๋ฉด์ ๊ฐ์ฅ ํฐ ๊ณต์ฝ์๋ฅผ ๊ตฌํ ์ ์๋ค. ์์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํ๋ฉด ์๊ฐ๋ณต์ก๋๋ O(N)์ด ๋๋ค. ๋์ ๋ฐฉ๋ฒ์ ์๋์ง๋ง ํจ์จ์ ๋์ด๊ธฐ ์ํด ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ด๋ ์๊ณ ๋ฆฌ์ฆ.. 2019. 12. 22. JAVA ์๋ฐ๋ก ๋นํธ์ฐ์ฐ ์์๋ณด๊ธฐ :: ์ฝ๋ ์๋ชฝ ๋นํธ์ฐ์ฐ์ ๋นํธ์ฐ์ฐ์ 2์ง์ํํ์ ์ซ์ 0๊ณผ 1๋ก ํ ์ ์๋ ์ฐ์ฐ์ด๋ค. ์๋ฐ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ์ฐ์ฐ 6๊ฐ์ง๋ฅผ ์์๋ณด์.๋นํธ์ฐ์ฐ์๋ฅผ ์ ์ฌ์ฉํ๋ฉด ์๊ณ ๋ฆฌ์ฆ์ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ์์ฑํ ์ ์์ ๋ฟ๋๋ฌ ์๊ฐ๋ณต์ก๋๋ฅผ ์ค์ฌ ์ฃผ๋ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์๋ค. ์ผ์ชฝ ์ํํธ( y ํ์์ผ๋ก ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋๊ณ x์ ๋นํธ๋ฅผ ์ผ์ชฝ์ผ๋ก y์นธ ์ด๋์ํจ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.ex) 1111 >> 2 = 111111(15) ์ด 11(3)๋ก ๋ณํ๋๋ ๊ฒ์ ๋ณด๋ฉด x / 2^y ์ผ๋ก ๋๋จธ์ง๋ฅผ ์ ์ธํ ๋ชซ์ ๋ฐํํ๋ค. ๋นํธ์ ๋ณด์(~)์ด์ง์์ ๋ชจ๋ ๋นํธ๋ฅผ ๋ฐ๋๋ก ๋ฐ๊พผ๋ค. 0 ์ด๋ฉด 1, 1์ด๋ฉด 0์ผ๋ก ๋ฐ๊พผ๋ค. ๋ณด์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ 32์๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ ๋ฐํํ๋ค.~x ํ์์ผ๋ก ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๊ณ x์ ๋ณด์๋ฅผ ๊ตฌํ๋ผ๋ ์๋ฏธ์ด๋ค.ex) ~01.. 2019. 11. 23. [๋ฐฐ์ด] ๋ถ๋ถ์งํฉ ๊ด๋ จ ๋ฌธ์ ๋นํธ์ฐ์ฐ์ผ๋ก ํ๊ธฐ :: ์ฝ๋์๋ชฝ ๋ถ๋ถ์งํฉ ๊ตฌํ๊ธฐ ๋ฐฐ์ด์ด ์ฃผ์ด์ก์๋ ๋ถ๋ถ์งํฉ์ ๊ตฌํ๋ ์ฝ๋๋ฅผ ์์ฑํด๋ณด์. ์๋ ๊ธฐ๋ณธ ๋ฌธ์ ๋ฅผ ์ค๋ช ๋ฐ ์ฝ๋์ํ์ ํ์ธํ์ง ์๊ณ ๋จผ์ ํ์ด๋ณด์. ๊ธฐ๋ณธ ๋ฌธ์ {1, 2, 3, 4, -1, -5} ์ ๋ฐฐ์ด์์ ํ์๋ก ๊ตฌ์ฑ๋ ๋ถ๋ถ ์งํฉ์ ๋ชจ๋ ์ถ๋ ฅ ํ์์ค. ๊ฐ๋จํด ๋ณด์ด์ง๋ง ๋นํธ์ฐ์ฐ์ ์ดํดํ์ง ๋ชปํ๋ฉด ์๊ฐ๋ณด๋ค ์ด๋ ค์ด ๋ฌธ์ ์ด๋ค. ์ ๋ฌธ์ ๋ฅผ ์์ ํ์ ํน์ ๋ฐฐ์ด์ ์์น๋ฅผ ์ด์ฉํด์ ํ๊ฒ ๋ค๊ณ ์ ๊ทผํ์๊ฒ์ด๋ผ ์๊ฐํฉ๋๋ค. ์์ ํ์ ๋ฐฉ๋ฒ์ผ๋ก ํ๋ ค๊ณ ํ๋ค๋ณด๋ for๋ฌธ์ ์ค์ฒฉํด์ ์ฌ์ฉํ๋ฉด ๋ฐฐ์ด์ด ์ปค์ง์๋ก ํจ์จ๋ ๋จ์ด์ง๊ณ ์๊ฐ๋ณต์ก๋๊ฐ ์ ๊ณฑ์ผ๋ก ๋์ด๋๋ ๊ฒ์ ํ์ธํ์ ๊ฒ์ ๋๋ค. ๊ทธ๋ผ ๋ฐฐ์ด์ ์์น๋ฅผ ์ด์ฉํด์ ํธ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๋ค๋ณด๋ 0๊ณผ 1์ ์ด์ฉํ์ฌ ์๋ฆฌ๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ์ด ๋ ์ค๋ฅด๊ฒ ๋ ๊ฒ์ ๋๋ค. ์์ ๋ฌธ์ ์ฒ๋ผ ๋ถ๋ถ์งํฉ์ ๊ตฌํ๋ ๋ฌธ์ ์์๋.. 2019. 11. 22. ์ด์ 1 2 ๋ค์