www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net import sys from itertools import combinations n, s = map(int, sys.stdin.readline().split()) num = list(map(int, sys.stdin.readline().split())) answer = 0 for i in range(1, n+1): com = list(combinations(num, i)) ..
www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net import sys N = int(sys.stdin.readline()) strings = [] for _ in range(N): word = input() strings.append((word, len(word))) strings = list(set(strings)) strings = sorted(strings, key = lambda x:(x[1], x[0])) for string in strin..
www.acmicpc.net/problem/2960 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net import sys, math N, K = map(int, sys.stdin.readline().split()) num = [1] * (N+1) answer = 0 for i in range(2, N+1): for j in range(i, N+1, i): if num[j]: num[j] = 0 answer += 1 if answer == K: print(j) break
www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net import sys N, K = map(int, sys.stdin.readline().split()) s = [list(map(int, sys.stdin.readline().split())) for _ in range(N)] s.insert(0, [0, 0]) dp = [[0] * (K + 1) for _ in range(N+1)] for i i..
www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net import sys, copy sys.setrecursionlimit(100000) N = int(sys.stdin.readline()) s = [list(map(int, sys.stdin.readline().split())) for _ in range(N)] for i in range(N): h = max(s[i]) result = 1 dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1] def dfs..
www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net import sys sys.setrecursionlimit(50000) T = int(sys.stdin.readline()) dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1] def dfs(x, y): s[x][y] = 0 for i in range(4): nx, ny = x + dx[i], y + dy[i] if 0
www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net import sys T = int(sys.stdin.readline()) for _ in range(T): N = int(sys.stdin.readline()) s = [] result = 1 for _ in range(N): s.append(list(map(int, sys.stdin.readline().split()))) s = sorted(s) check = s[0][1] for i i..