목록Python (215)
가오리의 코딩일기
import sys def input(): return sys.stdin.readline().strip() n, k = map(int, input().split()) dp = [[0] * 201 for i in range(201)] for i in range(201): dp[1][i] = 1 dp[2][i] = i+1 for i in range(2, 201): dp[i][1] = i for j in range(2, 201): dp[i][j] = (dp[i][j-1]+dp[i-1][j]) % 1000000000 print(dp[k][n])
T = int(input()) data = [1, 1, 1, 2, 2] for i in range(5, 100): data.append(data[i-1]+data[i-5]) for _ in range(T): n = int(input()) print(data[n-1])
import sys n = int(input()) dp = [0 for i in range(31)] dp[2] = 3 for i in range(4, 31, 2): dp[i] = dp[2] * dp[i-2] for j in range(4, i, 2): dp[i] += 2 * dp[i-j] dp[i] += 2 print(dp[n])
POINT - n을 k로 나누어지지 않으면 1을 뺀다 n, k = map(int, input().split()) count = 0 while n >= k: if n % k == 0: n = n/k count += 1 else: n -= 1 count += 1 print(count) n, k = map(int, input().split()) result = 0 while n >= k: while n % k == 0: n -= 1 result += 1 n //= k result += 1 while n > 1: n -= 1 result += 1 print(result) n, k = map(int, input().split()) result = 0 while True: target = (n//k) * k res..
POINT - 각 줄에서 가장 작은 수를 뽑아서 뽑은 작은 수 중 가장 큰 수를 뽑는다 n, m = map(int, input().split()) result = 0 for i in range(n): nlist = list(map(int, input().split())) num_m = min(nlist) result = max(result, num_m) print(result) n, m = map(int, input().split()) result = 0 for i in range(n): data = list(map(int, input().split())) min_value = 10001 for a in data: min_value = min(min_value, a) result = max(result,..
n = int(input()) dp = [i for i in range(n+1)] for i in range(1, n+1): for j in range(1, i): if j*j > i: break if dp[i] > dp[i-j*j]+1: dp[i] = dp[i-j*j]+1 print(dp[n])
n = int(input()) score = [0] for _ in range(n): score.append(int(input())) if n == 1: print(score[1]) else: dp = [0]*(n+1) dp[1] = score[1] dp[2] = score[1]+score[2] for i in range(3, n+1): dp[i] = max(dp[i-3]+score[i-1]+score[i], dp[i-2]+score[i]) print(dp[n])
n = int(input()) list = list(map(int, input().split())) dp = [0]*n dp[0] = list[0] for i in range(1, n): dp[i] = max(list[i], dp[i-1]+list[i]) print(max(dp))
n = int(input()) data = list(map(int, input().split())) reverse_data = data[::-1] up = [1 for i in range(n)] down = [1 for i in range(n)] for i in range(n): for j in range(i): if data[i] > data[j]: up[i] = max(up[i], up[j]+1) if reverse_data[i] > reverse_data[j]: down[i] = max(down[i], down[j]+1) result = [0 for i in range(n)] for i in range(n): result[i] = up[i] + down[n-i-1] - 1 print(max(resu..