본문 바로가기

Develop/백준 (python)262

[백준] 9658번: 돌 게임 4 (python) 9658번: 돌 게임 4 문제 ) 돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개, 3개 또는 4개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 지게 된다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다. 입력 : 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000) 출력 : 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. 풀이) 기본적인 풀이는 돌 게임 3와 동일하나 마지막 돌을 가져가면 지게 되므로, 마지막 돌의 앞 돌을 가져가면 이길 수 있다. 따라서 돌 게임 3의 코드에서 n - 1을 출력해주면 된다. 1 2 .. 2022. 4. 4.
[백준] 9657번: 돌 게임 3 (python) 9657번: 돌 게임 3 문제 ) 돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개, 3개 또는 4개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다. 입력 : 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000) 출력 : 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. 풀이) dp[1] 부터 dp[5] 까지를 직접 구한 뒤, 점화식을 찾아 그걸 dp화 시켰다. 탑 다운 방식은 어떤 식으로 짜야할지 잘 모르겠다. 1 2 3 4 5 6 7 8 9 10 11 12 1.. 2022. 4. 4.
[백준] 11727번: 2 x n 타일링 2 (python) 11727번: 2 x n 타일링 2 문제 ) 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. 입력 : 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력 : 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 풀이) 1) 탑다운 방식 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import sys sys.setrecursionlimit(1 2022. 4. 4.
[백준] 11726번: 2 x n 타일링 (python) 11726번: 2 x n 타일링 문제 ) 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. 입력 : 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력 : 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 풀이) 1) 탑다운 방식 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import sys sys.setrecursionlimit(1 2022. 4. 3.