Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- JavaScript
- 프로그래머스
- 리액트 훅
- 내일배움캠프 프로젝트
- React Hooks
- 파이썬 slice
- 타입스크립트
- 한글 공부 사이트
- Next 팀 프로젝트
- typeScript
- 리액트 공식문서
- 타입스크립트 리액트
- useEffect
- 파이썬 for in
- 파이썬 반복문
- 자바스크립트
- 파이썬 enumerate
- 리액트 공식 문서
- 파이썬 replace
- useState
- 코딩테스트
- 내일배움캠프
- 내배캠 프로젝트
- 파이썬 for
- tanstack query
- 파이썬 딕셔너리
- 리액트
- 리액트 프로젝트
- 내일배움캠프 최종 프로젝트
- REACT
Archives
- Today
- Total
sohyeon kim
[Python] 백준 : 강의실 31872, sorted, reverse, sum 본문
728x90
반응형
📝 문제
혁준이는 오늘 학교에서 N 개의 강의를 들어야 한다. 모든 강의는 x 축 위의 서로 다른 좌표에 존재하는 강의실에서 진행된다.
i 번째 강의실은 x = A(i) 에 있고, 처음에 혁준이는 x = 0 에 있다. 혁준이가 x 축 위에서 왼쪽 또는 오른쪽으로 1 만큼 이동할 때마다 1 초의 시간이 걸린다. 혁준이는 초급 마법사라서 최대 K 번 순간이동을 할 수 있다. 순간이동을 하면 현재 위치에서 원하는 다른 위치로 즉시 이동하고, 시간은 소요되지 않는다.
혁준이가 x = 0 에서 출발하여 모든 강의실을 한 번씩 들르는 데 걸리는 최소 시간을 구해보자. 강의를 듣는 데 걸리는 시간은 없다.
🫠 나의 풀이
import sys
input = sys.stdin.readline
N, K = map(int, input().split())
lst = [0] + sorted(map(int, input().split()))
time = []
for i in range(len(lst) - 1, 0, -1):
time.append(lst[i] - lst[i - 1])
answer = sorted(time, reverse=True)[K:]
print(sum(answer))
🧞♂️ 다른 사람의 풀이
a, b = map(int, input().split())
t = list(map(int, input().split()))
t.append(0)
t.sort()
q = []
for i in range(1, a + 1):
q.append(t[i] - t[i - 1])
q.sort(reverse=True)
print(sum(q[b:]))
🔗 https://www.acmicpc.net/problem/31872
728x90
반응형
'Coding Test' 카테고리의 다른 글
[Python] 백준 : 크리스마스 선물 14235, 우선순위 큐, heapq (0) | 2025.02.07 |
---|---|
[Python] 백준 : 괄호 끼워넣기 11899, 스택, stack (0) | 2025.01.28 |
[Python] 백준 : 생태계 4358, 개수를 모르는 input, 소수점 4자리, EOFError 시간 초과, % (1) | 2025.01.03 |
[Python] 백준 : 후보 추천하기 1713, dictionary, pop(), min() (0) | 2025.01.02 |
[Python] 코드잇 : 리스트 항목 합 탐색, Brute Force (0) | 2024.12.18 |