Python

개발공부/algorithm

[백준][python]10844.쉬운계단수 - DP

백준 10844 쉬운 계단 수 Silver I 문제링크 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 나의 접근 DFS 로직으로 가장 뒷자리의 숫자에 +1, -1 한 경우에 대해 깊이우선 탐색을 진행해주고 N의 길이까지 탐색을 완료하면 count를 더 해주는 식으로 구현해봤는데.. 시간초과가 났다. 아래는 해당 코드다. import sys def dfs(startnum, idx): global count change = [1, -1] if idx == N - 1: count += 1 return count for calc in range(2): newnum = startnum + change[calc] #2 if 0

개발공부/algorithm

[백준][python] 9658.돌게임4 - DP

백준 9658 돌게임4 Silver I 문제링크 9658번: 돌 게임 4 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 나의 접근 N이 1, 2, 3, 4인 경우를 살펴보았을 때 아래와 같은 패턴이 나타난다: 돌 1개: 상근, 창영 -> 상근 승 돌 2개: 상근, 창영, 상근 -> 창영 승 돌 3개: 상근, 창영, 상근, 창영 -> 상근 승 돌 4개: 상근, 창영, 상근, 창영, 상근 -> 창영 승 N이 5개인 경우부터는 상근이는 돌 1개, 3개, 4개를 고를 수 있다. 위의 패턴을 토대로 각각의 경우에 대한 승패를 살펴보자면: 돌 1개 (남은 돌 네개) -> 창영 승 돌 3개 (남은 돌 2개) -> 창영 승 돌 4개 (남은 돌 1개) -> 상근 승..

개발공부/algorithm

[백준][python] 1793.타일링 - DP

백준 1793 타일링 Silver I 문제링크 1793번: 타일링 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 숫자 0 ≤ n ≤ 250이 주어진다. www.acmicpc.net 나의 접근 DP로 타일링에 대한 규칙을 찾고 그에 대한 점화식을 찾아내는 문제다. 한 칸을 채우는 방법은 세로로 타일을 배치하는 방법 하나, 두 칸을 채우는 방법은 가로로 타일을 2개 배치하는 방법과 2x2 타일을 배치하는 방법 2개이기 때문에 arr[i] = arr[i - 1] + 2 * arr[i - 2] 과 같은 점화식이 나온다. N = 0 인 경우에도 답은 1이고 (아무것도 안하는 방법도 하나의 방법이기 때문), 명시되지 않는 M개의 테스트케이스를 한 번에 인풋으로 받아..

so.py
'Python' 태그의 글 목록 (13 Page)