본문 바로가기
728x90
반응형

알고리즘 문제풀이/백준22

백준 2559(시간 초과 나기 쉬운 문제) 처음 시도한 코드(시간 초과) a, b = map(int, input().split()) temp = list(map(int, input().split())) number = [] num = 0 for i in range(len(temp)): for j in range(i, i + b): if i + b > a: break num += temp[j] number.append(num) num = 0 number.pop(a-1) print(max(number)) 두 번째 시도한 코드(시간 초과) import sys a, b = map(int, sys.stdin.readline().split()) temp = list(map(int, sys.stdin.readline().rstrip().split())) ma.. 2023. 6. 2.
백준 12865 코드 n, m = map(int, input().split()) product = [list(map(int, input().split())) for _ in range(n)] # 가치 계산하기 values = [0] * n # 무게 계산하기 weights = [0] * n # 무게, 가치 값 초기화 for i in range(n): weights[i] = product[i][0] values[i] = product[i][1] # dp def dp(n, m, weights, values): dp = [[0] * (m+1) for _ in range(n+1)] for i in range(1, n+1): weight = weights[i-1] value = values[i-1] for j in range(1,.. 2023. 5. 24.
백준 11048 코드 n, m = map(int, input().split()) candies = [list(map(int, input().split())) for i in range(n)] # 1, 1부터 시작이므로 1 더 큰 2차원 배열 생성 result = [[0] * (m+1) for i in range(n+1)] for x in range(1, n+1): for y in range(1, m+1): result[x][y] = max(result[x-1][y], result[x][y-1], result[x-1][y-1]) + candies[x-1][y-1] print(result[n][m]) 2023. 5. 24.
백준 2193 코드 n = int(input()) def dp(n): dp = [0] * (n+1) dp[1] = 1 # 1 if n >= 2: dp[2] = 1 # 10 for i in range(3, n+1): dp[i] = dp[i-1] + dp[i-2] return dp[n] result = dp(n) print(result) 2023. 5. 23.
백준 14888 #2 코드 길이 약간 단축. 백준 14888 다른 풀이 버전. import sys import itertools input = sys.stdin.readline n = int(input()) # 숫자 number = list(map(int, input().split())) #연산자 카운트 operator = list(map(int, input().split())) result = [] real_operator = [] # 연산자로 바꿔주는 함수 def pick_operator(operator): if operator[0] != 0: for i in range(operator[0]): real_operator.append("+") if operator[1] != 0: for i in range(operator[.. 2023. 5. 23.
백준 14888 코드 import sys from itertools import permutations def calculate(operands, operators): result = operands[0] for i in range(1, len(operands)): if operators[i-1] == '+': result += operands[i] elif operators[i-1] == '-': result -= operands[i] elif operators[i-1] == '*': result *= operands[i] elif operators[i-1] == '/': if result < 0: result = -((-result) // operands[i]) else: result //= operands[i] r.. 2023. 5. 23.
728x90
반응형