[Python] 백준 15988 1, 2, 3 더하기3
https://www.acmicpc.net/problem/15988 15988번: 1, 2, 3 더하기 3 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 코드 작성 dp = [0] * 1000001 dp[0] = 1 dp[1] = 1 dp[2] = 2 for i in range(3, 1000001): dp[i] = (dp[i-1] + dp[i-2] + dp[i-3])%1000000009 t = int(input()) for _ in range(t): n = int(input()) print(dp[n]%1000000009) 코드 풀이 #1 위 방법 처럼 각 숫자를 나타낼 수 있는데 4의 값을 표현하는..
[Python] 백준 11053 가장 긴 증가하는 부분
코드 작성 n = int(input()) dp = [1 for _ in range(1001)] arr = list(map(int, input().split())) for i in range(n): for j in range(i): if arr[i] > arr[j]: dp[i] = max(dp[i], dp[j] + 1) print(max(dp)) 코드 풀이 # 문제풀이1 dp 테이블에는 모든 값을 1로 세팅한다. arr = [10, 20, 10, 30, 20, 50] 예를 들어, dp[3]을 구하기 위해서는 for 구문에서 i = 3, j = 0 일 때 dp[3] = max(dp[3], dp[0] + 1) 임에 따라 2가 된다 i = 3, j = 1 일 때 dp[3] = max(dp[3], dp[1] + ..
[Python] 백준 7568 덩치
코드 작성 n = int(input()) arr = [ ] for _ in range(n): x, y = map(int, input().split()) arr.append([x,y]) for i in arr: rank = 1 for j in arr: if i[0] < j[0] and i[1] < j[1]: rank += 1 print(rank, end = ' ') 코드 풀이 #. 몸무게와 키를 리스트(arr)에 넣는데, arr = [[x0, y0], [x1,y1], [x2,y2]...] 이와 같은 방식으로 넣는다. rank를 1로 기록하고 i가 0일때 j가 0,1,2,3,4와 비교하고 rank를 1씩 증가시키고 rank를 출력한다. 마찬가지로 i가 1일때 j가 0,1,2,3,4와 비교한다.