분류 전체보기

https://school.programmers.co.kr/learn/courses/30/lessons/42890코드function solution(relation) { const answer = []; const dfs = (idx, picked) => { if (idx === relation[0].length) { const result = relation.reduce((acc, cur) => { acc.add(cur.filter((_, i) => picked.has(i)).join("_")); return acc; }, new Set()); if (result.size === relation.length) { answer.pu..
https://www.acmicpc.net/problem/1194코드from collections import dequen, m = map(int, input().split())maze = []start = []for i in range(n): line = list(input()) for j in range(m): if line[j] == "0": start = [i, j] line[j] = "." maze.append(line)dx = [-1, 1, 0, 0]dy = [0, 0, -1, 1]q = deque([[*start, 0, frozenset()]])visited = set()while q: x, y, d, keys = q...
https://www.acmicpc.net/problem/11916코드n = int(input())base = [0]*4 # 0 ~ 2번째 원소는 각각 1루, 2루, 3루, 3번째 원소는 홈ball_count = 0answer = 0def wild_pitch(): global answer for i in range(2, -1, -1): if base[i] == 1: base[i+1] = 1 base[i] = 0 if base[3] == 1: answer += 1 base[3] = 0def ball_4(): global answer if base[0] == 1: if base[1] ==..
https://www.acmicpc.net/problem/22953코드n, k, c = map(int, input().split())cooking_times = list(map(int, input().split()))INF = int(1e12)answer = INFdef total_cooking_time(arr, k): result = INF l, r = 1, INF while l 해당 문제를 풀기 위해서는 두 가지 알고리즘을 사용해야 했다. - 백트래킹: 가능한 모든 격려 조합을 탐색하며 최적의 해를 찾는 데 사용- 파라메트릭 서치: k개 이상의 요리를 만들 수 있는 최소 시간을 찾는 데 사용 좀 더 자세하게 말해보자면 다음과 같은 과정으로 진행했다.백트래킹각 셰프에게 c번의 격려를 ..
https://www.acmicpc.net/problem/14627코드import sysinput = sys.stdin.readlines, c = map(int, input().split())green_onion = [int(input()) for _ in range(s)]answer = 0l, r = 1, max(green_onion)while l = c: l = mid+1 answer = ramyeon + (chicken-c)*mid else: r = mid-1print(answer) 이 문제는 조건을 만족하는 값 중 최대 값을 구하는 문제이기 때문에 파라메트릭 서치 알고리즘으로 풀 수 있는 문제이다. 여기서 조건은 다음과 같다.- 각 파닭에 같은 양의 파를..
딜레이레이
'분류 전체보기' 카테고리의 글 목록