728x90
문제
2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 N명의 학생들이 응시했다.
이들 중 점수가 가장 높은 k명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라.
커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다.
https://www.acmicpc.net/problem/25305
입력
첫째 줄에는 응시자의 수 N과 상을 받는 사람의 수 k가 공백을 사이에 두고 주어진다.
둘째 줄에는 각 학생의 점수 x가 공백을 사이에 두고 주어진다.
출력
상을 받는 커트라인을 출력하라.
예제
# input
5 2
100 76 85 93 98
# output
98
제한
1 ≤ N ≤ 1\,000
1 ≤ k ≤ N
0 ≤ x ≤ 10,000
문제 풀이
# 1 내장 함수 sort 활용
N,K = map(int,input().split())
L = list(map(int,input().split()))
print(sorted(L, reverse=True)[K-1]) # 내림차순 정렬, default는 오름차순입니다
# 2 버블 정렬 활용
N,K = map(int,input().split())
L = list(map(int,input().split()))
for i in range(N): # 내림차순 정렬
for j in range(N-i-1):
if L[j] < L[j+1]:
L[j], L[j+1] = L[j+1], L[j]
print(L[K-1])
버블 정렬 알고리즘은 서로 인접한 두 원소를 비교하여 정렬하는 알고리즘입니다.
아래 GIF를 보시면 보다 쉬운 이해가 가능합니다.
출처 : https://github.com/GimunLee/tech-refrigerator/blob/master/Algorithm/resources/bubble-sort-001.gif
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90