๋ฌธ์ 16194๋ฒ: ์นด๋ ๊ตฌ๋งคํ๊ธฐ 2 ์ฒซ์งธ ์ค์ ๋ฏผ๊ท๊ฐ ๊ตฌ๋งคํ๋ ค๊ณ ํ๋ ์นด๋์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1,000) ๋์งธ ์ค์๋ Pi๊ฐ P1๋ถํฐ PN๊น์ง ์์๋๋ก ์ฃผ์ด์ง๋ค. (1 ≤ Pi ≤ 10,000) www.acmicpc.net ๋ฌธ์ ํ์ด ์นด๋ ๊ตฌ๋งคํ๊ธฐ์์๋ ๊ตฌ๋งคํ๊ณ ์ ํ๋ ์นด๋๋ฅผ ์ต๋๊ฐ์ผ๋ก ๊ตฌ๋งคํ๋ ๋ฌธ์ ์๋ค. ์ด์ ๋ฌ๋ฆฌ ์นด๋ ๊ตฌ๋งคํ๊ธฐ 2๋ ๊ฐ์ฅ ์ต์ ๊ฐ์ผ๋ก ์นด๋๋ฅผ ๊ตฌ๋งคํ ๊ฒฝ์ฐ์ ๋ฐ์ํ๋ ๊ธ์ก์ ๋ฐํํ๋ ๋ฌธ์ ์ด๋ค. ์นด๋ ๊ตฌ๋งคํ๊ธฐ์ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ํ๋ฉฐ, ์ฝ๊ฐ์ ์ฝ๋๋ฅผ ์์ ํ๋ฉด ์ด ๋ฌธ์ ๋ ์ฝ๊ฒ ํ ์ ์๋ค. ์ฝ๋ if __name__ == '__main__': N = int(input()) card = [0] + list(map(int, input().split())) memo = [0]..
๋ฌธ์ 11052๋ฒ: ์นด๋ ๊ตฌ๋งคํ๊ธฐ ์ฒซ์งธ ์ค์ ๋ฏผ๊ท๊ฐ ๊ตฌ๋งคํ๋ ค๊ณ ํ๋ ์นด๋์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1,000) ๋์งธ ์ค์๋ Pi๊ฐ P1๋ถํฐ PN๊น์ง ์์๋๋ก ์ฃผ์ด์ง๋ค. (1 ≤ Pi ≤ 10,000) www.acmicpc.net ๋ฌธ์ ํ์ด ์ด ๋ฌธ์ ๋ฅผ ํจ์จ์ ์ผ๋ก ํ๊ธฐ ์ํด์๋ ๋ฉ๋ชจ์ด์ ์ด์ (Memoization)์ ํ์ฉํ์ฌ์ผ ํ๋ค. ๋ฌธ์ ์ ์์ ์ ๊ฐ์ด 1 5 6 7์ด ์ ๋ ฅ๋๋ ๊ฒฝ์ฐ ์นด๋ 3๊ฐ ๊น์ง ๊ตฌ๋งคํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ ๋ค์๊ณผ ๊ฐ๋ค. ์นด๋ 1๊ฐ ๊ตฌ๋งค : 1๊ฐ ๋ค์ด์๋ ์นด๋ ํฉ ์นด๋ 2๊ฐ ๊ตฌ๋งค : (1๊ฐ ๋ค์ด์๋ ์นด๋ ํฉ) * 2, 2๊ฐ ๋ค์ด์๋ ์นด๋ ํฉ ์นด๋ 3๊ฐ ๊ตฌ๋งค : (1๊ฐ ๋ค์ด์๋ ์นด๋ ํฉ) * 3, 2๊ฐ ๋ค์ด ์๋ ์นด๋ ํฉ + 1๊ฐ ๋ค์ด ์๋ ์นด๋๋ฐฑ, 3๊ฐ ๋ค์ด ์๋ ์นด๋ํฉ ์ฆ ..
1, 2, 3 ๋ํ๊ธฐ ์๋ฆฌ์ฆ 1, 2, 3 ๋ํ๊ธฐ 1, 2, 3 ๋ํ๊ธฐ 2 1, 2, 3 ๋ํ๊ธฐ 3 1, 2, 3 ๋ํ๊ธฐ 4 1, 2, 3 ๋ํ๊ธฐ 5 1, 2, 3 ๋ํ๊ธฐ 6 1, 2, 3 ๋ํ๊ธฐ 7 1, 2, 3 ๋ํ๊ธฐ 8 1, 2, 3 ๋ํ๊ธฐ 9 ๋ฌธ์ 9095๋ฒ: 1, 2, 3 ๋ํ๊ธฐ ๋ฌธ์ ์ ์ 4๋ฅผ 1, 2, 3์ ํฉ์ผ๋ก ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ ์ด 7๊ฐ์ง๊ฐ ์๋ค. ํฉ์ ๋ํ๋ผ ๋๋ ์๋ฅผ 1๊ฐ ์ด์ ์ฌ์ฉํด์ผ ํ๋ค. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 ์ ์ n์ด ์ฃผ์ด์ก์ ๋, n์ 1, 2, 3์ ํฉ์ผ๋ก ๋ํ๋ด๋ www.acmicpc.net ๋ฌธ์ ํ์ด ์ด์ ์ ํ์๋, 11726 2xn ํ์ผ๋ง, 11727 2xn ํ์ผ๋ง 2๊ณผ ๊ฐ์ด ์ด๋ ํ ๊ฒฝ์ฐ์ ์๊ฐ ์๋์ง ํ์ ํ๋ ๊ฒ์ด ์ค์ํ๋ค..
๋ฌธ์ 11727๋ฒ: 2×n ํ์ผ๋ง 2 2×n ์ง์ฌ๊ฐํ์ 1×2, 2×1๊ณผ 2×2 ํ์ผ๋ก ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ ๊ทธ๋ฆผ์ 2×17 ์ง์ฌ๊ฐํ์ ์ฑ์ด ํ๊ฐ์ง ์์ด๋ค. www.acmicpc.net ๋ฌธ์ ํ์ด ์ด ๋ฌธ์ ๋ 2 x n ํ์ผ๋ง ๋ฌธ์ ์์ 2 x 2 ํ์ผ์ด ์ถ๊ฐ ๋์ด, ์ฌ์ฉํ ์ ์๋ ํ์ผ์ด 2 x 1, 1 x 2, 2 x 2๋ก 3๊ฐ์ธ ๊ฒฝ์ฐ์ 2 x n์ ๊ณต๊ฐ์ ํ์ผ์ ๋ถ์ผ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ๊ทธ๋ฆผ 1์ ๋ณด๋ฉด, n์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ 1, 3, 5, 11, 21๊ณผ ๊ฐ์ ๊ท์น์ ๋ณด์ด๋ ๊ฒ์ ์ ์ ์์ผ๋ฉฐ ์ด๋ฅผ ์์ผ๋ก ๋ํ๋ด๋ฉด `f(n) = f(n - 1) + 2 * f(n - 2)`๊ฐ ๋๋ค. ๋ฐ๋ผ์ ํด๋น ์์ ์ฝ๋๋ก ์์ฑํ๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ์ฝ๋ fro..
๋ฌธ์ 11726๋ฒ: 2×n ํ์ผ๋ง 2×n ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ 1×2, 2×1 ํ์ผ๋ก ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ ๊ทธ๋ฆผ์ 2×5 ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ ์ฑ์ด ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์ด๋ค. www.acmicpc.net ๋ฌธ์ ํ์ด ์ธ๋ก ํ์ผ(2 x 1)๊ณผ ๊ฐ๋ก ํ์ผ(1 x 2) ํ์ผ๋ก n์ด ์ ๋ ฅ๋ ๊ฒฝ์ฐ ํ์ผ์ ๋ถ์ผ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. n์ ๋ฐ๋ผ ๋ฐ์ํ ์ ์๋ ๊ฐ ๊ฒฝ์ฐ์ ์๋ ํฌ๊ฒ 3๊ฐ์ง ์ด๋ค. ๋ชจ๋ ์ธ๋ก ํ์ผ๋ก ๊ตฌ์ฑ ๋๋ ๊ฒฝ์ฐ ๋ชจ๋ ๊ฐ๋ก ํ์ผ๋ก ๊ตฌ์ฑ ๋๋ ๊ฒฝ์ฐ ๊ฐ๋ก, ์ธ๋ก ํ์ผ์ด ํผํฉ๋์ด ๊ตฌ์ฑ๋๋ ๊ฒฝ์ฐ ํ์ผ์ ๋ถ์ผ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ ๊ทธ๋ฆผ 1๊ณผ ๊ฐ๋ค. n์ ๋ฐ๋ฅธ ๊ท์น์ ์ฐพ์๋ณด๋ฉด n์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ 1, 2, 3, 5, 8, 13๋ก ์ฆ๊ฐํ๋ ๊ฒ์ ์ ์ ์๋ค. ์ด๋ฅผ ์์ผ๋ก ..
๋ฌธ์ 1463๋ฒ: 1๋ก ๋ง๋ค๊ธฐ ์ฒซ์งธ ์ค์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 106๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์ N์ด ์ฃผ์ด์ง๋ค. www.acmicpc.net ๋ฌธ์ ํ์ด ๋ฌธ์ ๋ ํน์ ์๊ฐ 1์ด ๋๊ธฐ ์ํด์ 2, 3์ผ๋ก ๋๋๊ฑฐ๋ -1์ ํ์์ ๋ ์ต์ ํ์๋ก 1์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๊ฒ์ด๋ค. ํจ์จ์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ๋ฉ๋ชจ์ด์ ์ด์ (memoization)์ ํตํด ๋ฌธ์ ๋ฅผ ์ ๊ทผํ๋ฉด ์๊ฐ์ด๊ณผ๋ฅผ ๋ฐ์์ํค์ง ์๊ณ ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค. ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฐฉ๋ฒ์ ๊ทธ๋ฆผ 1๊ณผ ๊ฐ๋ค. ๊ทธ๋ฆผ 1์ 10์ธ ๊ฒฝ์ฐ์ ๋ฉ๋ชจ์ด์ ์ด์ ์ ํตํด ๊ฐ์ ์ฐพ๋ ๊ณผ์ ์ด๋ค. ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ์นด์ดํธ ๊ฐ์ ๋์ ์์ผ๊ฐ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. ๊ฐ ์ธ๋ฑ์ค๋ ์ค์ ๊ฐ์ ์๋ฏธํ๋ค. (1 ~ N) ์ ๋ ฅ๋ ๊ฐ๊ณผ ์ธ๋ฑ์ค๋ฅผ ์ผ์น์ํค๊ธฐ ์ํด 0๋ฒ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค. ์ ๋ ฅ ๊ฐ์ด 1์ธ..
๋ฌธ์ 11576๋ฒ: Base Conversion ํ์๋จธ์ ์ ๊ฐ๋ฐํ๋ ์ ์ด๋ ์ค๋ ๋ ธ๋ ฅ ๋์ ํ์๋จธ์ ์ ๊ฐ๋ฐํ๋๋ฐ ์ฑ๊ณตํ์๋ค. ๋ฏธ๋๊ฐ ๊ถ๊ธํ ์ ์ด๋ ์์ ์ด ๊ฐ๋ฐํ ํ์๋จธ์ ์ ์ด์ฉํ์ฌ 500๋ ํ์ ์ธ๊ณ๋ก ์ฌํ์ ๋ ๋๊ฒ ๋์๋ค. 500๋ ํ์ www.acmicpc.net ๋ฌธ์ ํ์ด ์ด ๋ฌธ์ ๋ A์ง๋ฒ์ B ์ง๋ฒ์ผ๋ก ๋ณํํ๋ ๋ฌธ์ ์ด๋ค. ์์ ๋ค๋ฃฌ 2745 ์ง๋ฒ ๋ณํ, 11005 ์ง๋ฒ ๋ณํ 2 ๋ฌธ์ ์ฒ๋ผ A ์ง๋ฒ์ 10์ง๋ฒ์ผ๋ก ๋ณํ ํ์ ๋ค์ B ์ง๋ฒ์ผ๋ก ๋ณํํ๋๋กํ์ฌ ๋ฌธ์ ๋ฅผ ํ์๋ค. ์์ ๋ฌธ์ ๋ค์ ์ ํ์๋ค๋ฉด ์ด ๋ฌธ์ ๋ ๋์ฑ ์ฝ๊ฒ ํ ์ ์๋ค. ์ฝ๋ if __name__ == "__main__": a, b = map(int, input().split()) m = int(input()) nums = list(map..
๋ฌธ์ 11005๋ฒ: ์ง๋ฒ ๋ณํ 2 10์ง๋ฒ ์ N์ด ์ฃผ์ด์ง๋ค. ์ด ์๋ฅผ B์ง๋ฒ์ผ๋ก ๋ฐ๊ฟ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 10์ง๋ฒ์ ๋์ด๊ฐ๋ ์ง๋ฒ์ ์ซ์๋ก ํ์ํ ์ ์๋ ์๋ฆฌ๊ฐ ์๋ค. ์ด๋ฐ ๊ฒฝ์ฐ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ํ๋ฒณ ๋๋ฌธ์๋ฅผ ๏ฟฝ๏ฟฝ www.acmicpc.net ๋ฌธ์ ํ์ด ์ง๋ฒ ๋ณํ ๋ฌธ์ ์์ 10์ง๋ฒ์ ์๋ฅผ ๋ค์ ํด๋น ์ง๋ฒ์ผ๋ก ๋ณํํ๋ ๋ฌธ์ ์ด๋ค. 10์ง๋ฒ์ ์๋ฅผ ๋ค๋ฅธ ์ง๋ฒ์ผ๋ก ๋ณํํ๊ธฐ ์ํด์๋ ์๊ฐ 0์ด ๋ ๋ ๊น์ง ๋๋ ํ ๊ฐ ๋๋จธ์ง๋ค์ ๊ธฐ๋กํด๋๋ฉด, ๋ณํํ ์ ์๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก 10 ๋ณด๋ค ํฐ ์์ ๊ฒฝ์ฐ A - Z ๋ก ๋ณํํด ์ฃผ์ด์ผ ํ๋ค. ์ฝ๋ if __name__ == "__main__": n, b = map(int, input().split()) answer = '' while n: r = n % b ..