본문 바로가기
반응형

분류 전체보기252

[백준][Python] 15988번 1, 2, 3 더하기 3 15988번: 1, 2, 3 더하기 3 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 코드 import sys t = int(input()) dp = [0,1,2,4] for _ in range(t): n = int(sys.stdin.readline()) for i in range(len(dp),n+1): dp.append((dp[i-3]+dp[i-2]+dp[i-1])%1000000009) print(dp[n]) 설명 처음에는 for문 안에 dp를 선언해서 새로운 n 값을 받을 때마다 dp 계산을 했더니 시간초과가 떴다. 그래서 dp를 만들어놓고 계속해서 그 값을 가져다 쓰는 방식으로 다시 코드를 .. 2022. 12. 29.
[백준][Python] 9656번 돌 게임2 9656번: 돌 게임 2 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 코드 n = int(input()) if n % 2 == 0: print("SK") else: print("CY") 2022. 12. 28.
[백준][Python] 16194번 카드 구매하기2 16194번: 카드 구매하기 2 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 코드 n = int(input()) p = list(map(int,input().split())) dp = [0]*(n+1) dp[1] = p[0] dp[2] = min(dp[1]*2,p[1]) for i in range(3,n+1): dp[i] = p[i-1] for j in range(1,i//2+1): dp[i] = min(dp[i],dp[j]+dp[i-j]) print(dp[-1]) 2022. 12. 27.
[백준][Python] 16395번 파스칼의 삼각형 16395번: 파스칼의 삼각형 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행 www.acmicpc.net 코드 n,k = map(int,input().split()) pascal = [[1]*i for i in range(1,31)] if n > 2: for i in range(2,n): for j in range(1,i): pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j] print(pascal[n-1][k-1]) 2022. 12. 26.
반응형