정렬 81

백준(JAVA) 2309번 일곱 난쟁이 풀이

Java로 구현한 2309번 일곱 난쟁이 문제 풀이입니다. https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int[] data = new int[9]; int sum_value = 0; for (int i=0; i

백준(Python) 2309번 일곱 난쟁이 풀이

Python으로 구현한 2309번 일곱 난쟁이 문제 풀이입니다. https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net def combinations(arr, r) : for i in range(len(arr)) : if r == 1 : yield [arr[i]] else : for next in combinations(arr[i+1:], r-1) : yield [arr[i]] + next data = [int(input()) for _ in range(9)]..

백준(JAVA) 1202번 보석 도둑 풀이

Java로 구현한 1202번 보석 도둑 문제 풀이입니다. https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net import java.util.Collections; import java.util.PriorityQueue; import java.util.StringTokenizer; import java.io.*; public class Main { public static void main..

백준(Python) 1202번 보석 도둑 풀이

Python으로 구현한 1202번 보석 도둑 문제 풀이입니다. https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net import heapq n, k = map(int, input().split()) data = [] for _ in range(n) : w, v = map(int, input().split()) # 무게, 가격 heapq.heappush(data, (w, v)) bag = [..

백준(JAVA) 1826번 연료 채우기 풀이

Java로 구현한 1826번 연료 채우기 문제 풀이입니다. https://www.acmicpc.net/problem/1826 1826번: 연료 채우기 첫째 줄에 주유소의 개수 N(1 ≤ N ≤ 10,000)가 주어지고 두 번째 줄부터 N+1번째 줄 까지 주유소의 정보가 주어진다. 주유소의 정보는 두개의 정수 a,b로 이루어 져 있는데 a(1 ≤ a ≤ 1,000,000)는 성경 www.acmicpc.net import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStrea..

백준(Python) 1826번 연료 채우기 풀이

Python으로 구현한 1826번 연료 채우기 문제 풀이입니다. https://www.acmicpc.net/problem/1826 1826번: 연료 채우기 첫째 줄에 주유소의 개수 N(1 ≤ N ≤ 10,000)가 주어지고 두 번째 줄부터 N+1번째 줄 까지 주유소의 정보가 주어진다. 주유소의 정보는 두개의 정수 a,b로 이루어 져 있는데 a(1 ≤ a ≤ 1,000,000)는 성경 www.acmicpc.net import heapq n = int(input()) temp = [] for _ in range(n) : heapq.heappush(temp, list(map(int, input().split()))) l, p = map(int, input().split()) result = 0 heap = [..

카테고리 없음 2022.10.14

백준(JAVA) 2217번 로프 풀이

Java로 구현한 2217번 로프 문제 풀이입니다. https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] data = new int[n]; for (in..

백준(Python) 2217번 로프 풀이

Python으로 구현한 2217번 로프 문제 풀이입니다. https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net n = int(input()) data = [] for _ in range(n) : data.append(int(input())) data.sort() max_value = 0 for i in range(n) : max_value = max(max_value, data[i] * (n - i)) print(max_value) 1. n..

백준(JAVA) 1931번 회의실 배정 풀이

Java로 구현한 1931번 회의실 배정 문제 풀이입니다. https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[][] time = new int[n][2]; for (int i=0; i o2[1]) return 1; else { if (o1[0] < o2[0]) return -1;..

백준(Python) 1931번 회의실 배정 풀이

Python으로 구현한 1931번 회의실 배정 문제 풀이입니다. https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net n = int(input()) time = [[0] * 2 for _ in range(n)] for i in range(n) : start, end = map(int, input().split()) time[i][0] = start time[i][1] = end time.sort(key=lambda x: (x[1], x[0])) result = 1 end_time = time[0][1] for i in range(1, n) : if time[i][0..