본문 바로가기
728x90
반응형

알고리즘 문제풀이25

백준 10819 #2 2번째 풀이 시간과 코드 길이 모두 단축되었다. import itertools a = int(input()) b = list(map(int, input().split())) permutations = itertools.permutations(b) answer = [] for p in permutations: temp_sum = 0 for n in range(1, a): ans = abs(p[n-1] - p[n]) temp_sum += ans answer.append(temp_sum) max_sum = max(answer) print(max_sum) 2023. 5. 17.
백준 2294 코드 n, k = map(int, input().split()) coin_list = [] for i in range(n): coin_list.append(int(input())) dp = [10001] * (k+1) dp[0] = 0 for i in range(1, k+1): for coin in coin_list: if coin 2023. 4. 13.
백준 2293 코드 n, k = map(int, input().split()) coins = [] for i in range(n): coins.append(int(input())) D = [0] * (k+1) D[0] = 1 for i in range(n): for j in range(coins[i], k+1): D[j] += D[j-coins[i]] print(D[k]) 2023. 4. 11.
백준 1463 코드 n = int(input()) d = [0] * (n+1) for i in range(2, n+1): d[i] = d[i-1] + 1 if i % 2 == 0 and d[i] > d[i//2] + 1: d[i] = d[i//2] + 1 if i % 3 == 0 and d[i] > d[i//3] + 1: d[i] = d[i//3] + 1 print(d[n]) 2023. 4. 8.
백준 16236 코드 from collections import deque n = int(input()) graph = [] for _ in range(n): graph.append(list(map(int, input().split()))) shark_size = 2 shark_x, shark_y = 0, 0 for i in range(n): for j in range(n): if graph[i][j] == 9: shark_x, shark_y = i, j graph[i][j] = 0 # 상어 위치는 빈칸으로 처리 break dx, dy = [-1, 0, 1, 0], [0, -1, 0, 1] # 북, 서, 남, 동 def bfs(): dist = [[-1] * n for _ in range(n)] q = deque([(s.. 2023. 4. 8.
백준 14502 코드 from collections import deque from copy import deepcopy import itertools N, M = map(int, input().split()) graph = [] for _ in range(N): graph.append(list(map(int, input().split()))) # 빈 칸의 좌표와 바이러스의 좌표를 구합니다. empty_spaces = [] virus_spaces = [] for i in range(N): for j in range(M): if graph[i][j] == 0: empty_spaces.append((i, j)) elif graph[i][j] == 2: virus_spaces.append((i, j)) # BFS로 바이러스가.. 2023. 4. 7.
728x90
반응형