본문 바로가기

전체 글

(638)
[그리디 알고리즘] 곱하기 혹은 더하기 - 파이썬(python) 곱하기 혹은 더하기 난이도 : 下 풀이 시간 : 30분 시간 제한 : 1초 메모리 제한 : 128 MB 해답 s = input() result = int(s[0]) for i in range(1, len(s)): if int(s[i])
[그리디 알고리즘] 모험가 길드 - 파이썬(python) 모험가 길드 난이도 : 下 풀이 시간 : 30분 시간 제한 : 1초 메모리 제한 : 128 MB 해답 n = int(input()) horror = list(map(int, input().split())) horror.sort() count, result = 0, 0 for i in horror: count = count + 1 if count >= i: result = result + 1 count = 0 print(result) 예시 n = int(input()) data = list(map(int, input().split())) data.sort() result = 0 # 총 그룹의 수 count = 0 # 현재 그룹에 포함된 모험가의 수 for i in data: # 공포도를 낮은 것부터 하나씩..
[그래프 이론 알고리즘] 커리큘럼 - 파이썬(python) 커리큘럼 난이도 : 上 풀이 시간 : 50분 시간 제한 : 2초 메모리 제한 : 128 MB 해답 from collections import deque import copy v = int(input()) indegree = [0] * (v+1) graph = [[] for i in range(v+1)] time = [0] * (v+1) for i in range(1, v+1): data = list(map(int, input().split())) time[i] = data[0] for x in data[1:-1]: indegree[i] = indegree[i] + 1 graph[x].append(i) def topology_sort(): result = copy.deepcopy(time) q = dequ..
[그래프 이론 알고리즘] 도시 분할 계획 - 파이썬(python) 도시 분할 계획 난이도 : 中 풀이 시간 : 40분 시간 제한 : 2초 메모리 제한 : 256 MB 해답 def find_parent(parent, x): if parent[x] != x: parent[x] = find_parent(parent, parent[x]) return parent[x] def union_parent(parent, a, b): a = find_parent(parent, a) b = find_parent(parent, b) if a < b: parent[b] = a else: parent[a] = b n, m = map(int, input().split()) parent = [0] * (n+1) edges = [] result = 0 for i in range(1, n+1): pa..
[그래프 이론 알고리즘] 팀 결성 - 파이썬(python) 팀 결성 난이도 : 中 풀이 시간 : 20분 시간 제한 : 2초 메모리 제한 : 128 MB 해답 def find_parent(parent, x): if parent[x] != x: parent[x] = find_parent(parent, parent[x]) return parent[x] def union_parent(parent, a, b): a = find_parent(parent, a) b = find_parent(parent, b) if a < b: parent[b] = a else: parent[a] = b n, m = map(int, input().split()) parent = [0] * (n+1) for i in range(0, n+1): parent[i] = i for i in range..