목록코딩 테스트/백준 문제 풀이 (105)
공부 기록장
https://www.acmicpc.net/problem/1092 1092번: 배 첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보 www.acmicpc.net 코드 import sys input = sys.stdin.readline n = int(input()) crane = list(map(int, input().split())) m = int(input()) box = list(map(int, input().split())) crane.sort(reverse=True) box.sort(reverse=True) cnt = 0 if bo..
https://www.acmicpc.net/problem/1052 1052번: 물병 지민이는 N개의 물병을 가지고 있다. 각 물병에는 물을 무한대로 부을 수 있다. 처음에 모든 물병에는 물이 1리터씩 들어있다. 지민이는 이 물병을 또 다른 장소로 옮기려고 한다. 지민이는 한 번 www.acmicpc.net 코드 n, k = map(int, input().split()) cnt = 0 while bin(n).count('1') > k: n += 1 cnt += 1 print(cnt) 문제 이해부터 어려웠다. 정리하면, N개의 물병을 K 개의 물병으로 재분배 하여, 한번에 물병을 옮기려고 하는 것이고 물병은 추가 구매가 가능한 상황에서 추가 구매해야 하는 물병의 최소 개수를 구하는 문제였다. 물병에 들어갈 ..
https://www.acmicpc.net/problem/15903 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net 코드 n, m = map(int, input().split()) num = list(map(int, input().split())) while m != 0: num.sort() one = num[0] del num[0] two = num[0] del num[0] total = one + two num.append(total) num.append(total) m..
https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 코드 import sys n = int(sys.stdin.readline()) time = [] for i in range(n): s, e = map(int, sys.stdin.readline().split()) time.append((s, e)) time.sort(key = lambda x : (x[1], x[0])) cnt = 1 endTime = time[0][1] for i in range(1, n): if time[i][0] >= endTime: cnt += 1 endTime = time[i][1] pr..