본문 바로가기

전체 글154

[Python] 백준 16288: Passport Control https://www.acmicpc.net/problem/16288 16288번: Passport Control 입력은 표준입력을 사용한다. 첫 번째 줄에는 두 개의 정수 N 과 k 가 주어진다. N은 입국 승객의 수이며 k는 여권 심사 창구의 수이다. 단, 2 ≤ k ≤ N ≤ 100 이다. 그리고 두 번째 줄에는 승객이 입 www.acmicpc.net 1. 여권 심사 창구에 현재 있는 인원의 번호를 내림차순으로 정렬한다. 오름차순으로 할경우 만약 들어올값이 7이라 가정하고 현재 룸에있는 값이 [2, 6] 이라고 했을 시 오름차순의 경우 [7, 6] 으로 초기화 되는데 이렇게하면 2~7 사이에 3, 4, 5 가 들어올수 있음에도 불구하고 7로 초기화 된다. (이것때문에 틀렸다.) 2. 리스트의 어떤값보.. 2021. 9. 15.
[Python] 백준 1781: 컵라면 1781번: 컵라면 (acmicpc.net) 1781번: 컵라면 상욱 조교는 동호에게 N개의 문제를 주고서, 각각의 문제를 풀었을 때 컵라면을 몇 개 줄 것인지 제시 하였다. 하지만 동호의 찌를듯한 자신감에 소심한 상욱 조교는 각각의 문제에 대해 데드라 www.acmicpc.net 1. 컵라면수가 많은순으로 정렬한다. 2. find 함수로 날짜에 맞춰 채워나간다. 3. 날짜에 채웠으면 그 날짜에는 채우지 못하므로 배열의 값을 한개 내려준다. 4. find 함수로 계속해서 채울수있는 날짜를 채워나간다. n = int(input()) ans = 0 pay = [] deadline = [i for i in range(200001)] def find(x): if x == 0: return 0 if x == de.. 2021. 9. 14.
[Python] 백준 13164: 행복 유치원 13164번: 행복 유치원 (acmicpc.net) 13164번: 행복 유치원 행복 유치원 원장인 태양이는 어느 날 N명의 원생들을 키 순서대로 일렬로 줄 세우고, 총 K개의 조로 나누려고 한다. 각 조에는 원생이 적어도 한 명 있어야 하며, 같은 조에 속한 원생들은 서로 www.acmicpc.net 길이의 간격이 높은 수를 k-1개 제거하면 된다. n, k = map(int, input().split()) kids = list(map(int, input().split())) tmp = [] for i in range(1, len(kids)): tmp.append(kids[i]-kids[i-1]) tmp.sort(reverse=True) print(sum(tmp[k-1:])) 2021. 9. 14.
[Python] 백준 1826: 연료채우기 1826번: 연료 채우기 (acmicpc.net) 1826번: 연료 채우기 첫째 줄에 주유소의 개수 N(1 ≤ N ≤ 10,000)가 주어지고 두 번째 줄부터 N+1번째 줄 까지 주유소의 정보가 주어진다. 주유소의 정보는 두개의 정수 a,b로 이루어 져 있는데 a(1 ≤ a ≤ 1,000,000)는 성경 www.acmicpc.net 1. 거리순으로 정렬을 해준다. 2. 마을에 도착할때마다 연료를 최대힙으로 넣어준다. 3. 마을에 도착할때 연료가 부족하면 힙에 있는 연료를 높은순으로 넣어준다. 4. 힙의 길이가 0 이고 연료가 부족하면 -1을 출력한다. import sys import heapq n = int(input()) info = [list(map(int, input().split())) for _.. 2021. 9. 14.