๐ค PS(Problem Solving)
[๋ฐฑ์ค/java] 15651 - N๊ณผ M (3)
๋ฌธ์ 15651๋ฒ: N๊ณผ M (3) ํ ์ค์ ํ๋์ฉ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์ด์ ์ถ๋ ฅํ๋ค. ์ค๋ณต๋๋ ์์ด์ ์ฌ๋ฌ ๋ฒ ์ถ๋ ฅํ๋ฉด ์๋๋ฉฐ, ๊ฐ ์์ด์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํด์ผ ํ๋ค. ์์ด์ ์ฌ์ ์์ผ๋ก ์ฆ๊ฐํ๋ ์์๋ก ์ถ๋ ฅํด www.acmicpc.net ์ฝ๋
[๋ฐฑ์ค/java] 15649 - N๊ณผ M (1)
๋ฌธ์ 15649๋ฒ: N๊ณผ M (1) ํ ์ค์ ํ๋์ฉ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์ด์ ์ถ๋ ฅํ๋ค. ์ค๋ณต๋๋ ์์ด์ ์ฌ๋ฌ ๋ฒ ์ถ๋ ฅํ๋ฉด ์๋๋ฉฐ, ๊ฐ ์์ด์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํด์ผ ํ๋ค. ์์ด์ ์ฌ์ ์์ผ๋ก ์ฆ๊ฐํ๋ ์์๋ก ์ถ๋ ฅํด www.acmicpc.net ์ฝ๋() *๊ฐ ์๋๋ผ๋ฉด ์๋ ค์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค(--)(__)*
[Level3/Java] ๋คํธ์ํฌ
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋คํธ์ํฌ ๋คํธ์ํฌ๋ ์ปดํจํฐ ์ํธ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๋๋ก ์ฐ๊ฒฐ๋ ํํ๋ฅผ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ปดํจํฐ A์ ์ปดํจํฐ B๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด์๊ณ , ์ปดํจํฐ B์ ์ปดํจํฐ C๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์ programmers.co.kr ์ฝ๋
[Level2/c++] ๋ฉ์ฉกํ ์ฌ๊ฐํ
๋ฌธ์ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ํ์ด ์ต๋๊ณต์ฝ์๋ฅผ ์ด์ฉํด์ผ ํ๋ ์ํ๋ฌธ์ ์๋ค. ์๋ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ์๋ค. [ํ๋ก๊ทธ๋๋จธ์ค] ๋ฉ์ฉกํ ์ฌ๊ฐํ in python ํ์ด์ฌ์ผ๋ก ํ๋ก๊ทธ๋๋จธ์ค ํ๊ธฐ :: ๋ฉ์ฉกํ ์ฌ๊ฐํ ๋ฌธ์ ์ค๋ช ๊ฐ๋ก ๊ธธ์ด๊ฐ Wcm, ์ธ๋ก ๊ธธ์ด๊ฐ Hcm์ธ ์ง์ฌ๊ฐํ ์ข ์ด๊ฐ ์์ต๋๋ค. ์ข ์ด์๋ ๊ฐ๋ก, ์ธ๋ก ๋ฐฉํฅ๊ณผ ํํํ๊ฒ ๊ฒฉ์ ํํ๋ก ์ ์ด ๊ทธ์ด์ ธ ์์ผ๋ฉฐ, ๋ชจ๋ ๊ฒฉ์์นธ์.. leedakyeong.tistory.com ์ฝ๋ + ์ฌ๊ท๋ก ์ต๋๊ณต์ฝ์ ๊ตฌํ๊ธฐ int gcd(int a, int b){ if(a==0) return b; else retu..
[Level2/c++,Java] ์คํฌํธ๋ฆฌ
๋ฌธ์ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋์ ํ์ด 1. skill ๋ฌธ์,์ธ๋ฑ์ค๋ฅผ map์ ์ ์ฅํ๋ค.(๋ค๋ฅธ์ฌ๋๋ค ํ์ด ๋ณด๋ ์ถ๊ฐ๊ณต๊ฐ ํ์์๋ค) 2. ์ ์ ์คํฌํธ๋ฆฌ์์ skill์ ํด๋นํ๋ ๋ฌธ์๋ฅผ ์ฐพ๋๋ค. map[ํด๋น๋ฌธ์] ์ธ๋ฑ์ค๋ฅผ vector์ ์ ์ฅํ๋ค. 3. vector ์ ์ฅ๊ฐ์ด 1,2,3,4...์ ์์๋ก ๋์ด์๋์ง ์ฒดํฌํ๋ค. ์ฝ๋ C++ JAVA + ๋ ๋์ ๋ค๋ฅธ์ฌ๋๋ค์ ํ์ด
[๋ฐฑ์ค/c++] 11657 - ํ์๋จธ์
๋ฌธ์ 11657๋ฒ: ํ์๋จธ์ ์ฒซ์งธ ์ค์ ๋์์ ๊ฐ์ N (1 ≤ N ≤ 500), ๋ฒ์ค ๋ ธ์ ์ ๊ฐ์ M (1 ≤ M ≤ 6,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์๋ ๋ฒ์ค ๋ ธ์ ์ ์ ๋ณด A, B, C (1 ≤ A, B ≤ N, -10,000 ≤ C ≤ 10,000)๊ฐ ์ฃผ์ด์ง๋ค. www.acmicpc.net ํ์ด ๋ถ๋ฅ : ๋ฒจ๋ง-ํฌ๋ ์๊ณ ๋ฆฌ์ฆ ์ต๋จ๊ฑฐ๋ฆฌ ์ฐพ๊ธฐ + ์์ ๊ฐ์ค์น ์ด๋ฏ๋ก ๋ฒจ๋งํฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํฉ๋๋ค. ์ฝ๋(O((n^2)*m) *O((n^2)*m์ด ์๋๋ผ๋ฉด ์๋ ค์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค(--)(__)*
[๋ฐฑ์ค/c++] 1012๋ฒ - ์ ๊ธฐ๋ ๋ฐฐ์ถ
๋ฌธ์ 1012๋ฒ: ์ ๊ธฐ๋ ๋ฐฐ์ถ ์ฐจ์ธ๋ ์๋์ธ ํ๋๋ ๊ฐ์๋ ๊ณ ๋ญ์ง์์ ์ ๊ธฐ๋ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๊ธฐ๋ก ํ์๋ค. ๋์ฝ์ ์ฐ์ง ์๊ณ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๋ ค๋ฉด ๋ฐฐ์ถ๋ฅผ ํด์ถฉ์ผ๋ก๋ถํฐ ๋ณดํธํ๋ ๊ฒ์ด ์ค์ํ๊ธฐ ๋๋ฌธ์, ํ๋๋ ํด์ถฉ ๋ฐฉ์ง์ ํจ๊ณผ์ ์ธ ๋ฐฐ์ถํฐ์ง๋ ์ด๋ฅผ ๊ตฌ์ ํ๊ธฐ๋ก ๊ฒฐ์ฌํ๋ค. ์ด ์ง๋ ์ด๋ ๋ฐฐ์ถ๊ทผ์ฒ์ ์์ํ๋ฉฐ ํด์ถฉ์ ์ก์ ๋จน์์ผ๋ก์จ ๋ฐฐ์ถ๋ฅผ ๋ณดํธํ๋ค. ํนํ, ์ด๋ค ๋ฐฐ์ถ์ ๋ฐฐ์ถํฐ์ง๋ ์ด๊ฐ ํ ๋ง๋ฆฌ๋ผ๋ ์ด๊ณ ์์ผ๋ฉด ์ด ์ง๋ ์ด๋ ์ธ์ ํ ๋ค๋ฅธ ๋ฐฐ์ถ๋ก ์ด๋ํ ์ ์์ด, ๊ทธ ๋ฐฐ์ถ๋ค ์ญ์ ํด์ถฉ์ผ๋ก๋ถํฐ ๋ณดํธ๋ฐ์ ์ ์๋ค. ( www.acmicpc.net ํ์ด ๋ถ๋ฅ : ๊ทธ๋ํ, DFS 1. ๋ฐญ์ ๋ํ๋ผ int 2์ฐจ๋ฐฐ์ด, ๋ฐฉ๋ฌธ์ฒดํฌํ bool 2์ฐจ๋ฐฐ์ด์ ์ ์ธํฉ๋๋ค. 2. field[0][0] ~ field[M-1][N-1] ๊น์ง for๋ฌธ์ผ๋ก ๋๋ฉด์,..
[๋ฐฑ์ค/c++] 11729๋ฒ - ํ๋ ธ์ด ํ ์ด๋ ์์
๋ฌธ์ 11729๋ฒ: ํ๋ ธ์ด ํ ์ด๋ ์์ ์ธ ๊ฐ์ ์ฅ๋๊ฐ ์๊ณ ์ฒซ ๋ฒ์งธ ์ฅ๋์๋ ๋ฐ๊ฒฝ์ด ์๋ก ๋ค๋ฅธ n๊ฐ์ ์ํ์ด ์์ฌ ์๋ค. ๊ฐ ์ํ์ ๋ฐ๊ฒฝ์ด ํฐ ์์๋๋ก ์์ฌ์๋ค. ์ด์ ์๋์น๋ค์ด ๋ค์ ๊ท์น์ ๋ฐ๋ผ ์ฒซ ๋ฒ์งธ ์ฅ๋์์ ์ธ ๋ฒ์งธ ์ฅ๋๋ก ์ฎ๊ธฐ๋ ค ํ๋ค. ํ ๋ฒ์ ํ ๊ฐ์ ์ํ๋ง์ ๋ค๋ฅธ ํ์ผ๋ก ์ฎ๊ธธ ์ ์๋ค. ์์ ๋์ ์ํ์ ํญ์ ์์ ๊ฒ์ด ์๋์ ๊ฒ๋ณด๋ค ์์์ผ ํ๋ค. ์ด ์์ ์ ์ํํ๋๋ฐ ํ์ํ ์ด๋ ์์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ผ. ๋จ, ์ด๋ ํ์๋ ์ต์๊ฐ ๋์ด์ผ ํ๋ค. ์๋ ๊ทธ๋ฆผ์ ์ํ์ด 5 www.acmicpc.net ํ์ด ๋ถ๋ฅ : ๋ถํ ์ ๋ณต ์ฃผ์ด์ง ์์ ๋ก ํ๋ ธ์ด์ ํ ์๋ฆฌ๋ฅผ ์๊ฐํด๋ด ๋๋ค. (1)์ํ์ ๊ฐฏ์๊ฐ 1๊ฐ์ผ ๊ฒฝ์ฐ -ํ๋๋ฟ์ด๋ฏ๋ก 3๋ฒ๊ธฐ๋ฅ์ผ๋ก ๋ฐ๋ก ์ฎ๊น๋๋ค. 1 3 (2)์ํ์ ๊ฐฏ์๊ฐ 2๊ฐ์ผ ..
[๋ฐฑ์ค/c++] 1107๋ฒ - ๋ฆฌ๋ชจ์ปจ
๋ฌธ์ 1107๋ฒ: ๋ฆฌ๋ชจ์ปจ ์ฒซ์งธ ์ค์ ์๋น์ด๊ฐ ์ด๋ํ๋ ค๊ณ ํ๋ ์ฑ๋ N (0 ≤ N ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ๊ณ ์ฅ๋ ๋ฒํผ์ ๊ฐ์ M (0 ≤ M ≤ 10)์ด ์ฃผ์ด์ง๋ค. ๊ณ ์ฅ๋ ๋ฒํผ์ด ์๋ ๊ฒฝ์ฐ์๋ ์ ์งธ ์ค์๋ ๊ณ ์ฅ๋ ๋ฒํผ์ด ์ฃผ์ด์ง๋ฉฐ, ๊ฐ์ ๋ฒํผ์ด ์ฌ๋ฌ ๋ฒ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค. www.acmicpc.net ํ์ด ๋ถ๋ฅ : ์์ ํ์, ์ํ ์ฝ๋(O(nm)) *O(nm)์ด ์๋๋ผ๋ฉด ์๋ ค์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค(--)(__)*
[๋ฐฑ์ค/c++] 10819๋ฒ - ์ฐจ์ด๋ฅผ ์ต๋๋ก
๋ฌธ์ 10819๋ฒ: ์ฐจ์ด๋ฅผ ์ต๋๋ก ์ฒซ์งธ ์ค์ N (3 ≤ N ≤ 8)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ๋ฐฐ์ด A์ ๋ค์ด์๋ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ๋ฐฐ์ด์ ๋ค์ด์๋ ์ ์๋ -100๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. www.acmicpc.net ํ์ด ๋ถ๋ฅ : ์์ ํ์ ๋ฌด์์๋ก ๋์ด๋ ์์ด์์ |A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]| ์ ์์ ์ต๋๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ์ ๋๋ค. 1. algorithmํค๋์ next_permutationํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌด์์์ ์์ด์ ๋ง๋ญ๋๋ค. 2. ๋ฌด์์๋ก ๋ง๋ค์ด์ง ์์ด์ ์์ ์์ ๋์ ํ์ฌ, ๊ฐ์ฅ ํฐ ๊ฐ์ด ๋์ฌ๋๋ง๋ค ์ต๋๊ฐ์ ๊ฐฑ์ ํด์ค๋๋ค. ์ฝ๋(O(n+1)!) *O(n+1)!์ด ์๋๋ผ๋ฉด ์๋ ค์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค(--)(__)*