반응형
안녕하세요 성조입니다.
이 포스팅은 Python 3 버전을 기준으로 풀이됐습니다.
이번 문제는 직관적이라 금방 풀 수 있었으며, sort 함수를 활용해서 풀어내려 했는데 깜빡하고 빼놓고 풀어서 틀리고 다시 입력했던 문제였습니다.
문제 출처
https://www.acmicpc.net/problem/11004
문제
수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 5,000,000)과 K (1 ≤ K ≤ N)이 주어진다.
둘째에는 A1, A2, ..., AN이 주어진다. (-10^9 ≤ Ai ≤ 10^9)
출력
A를 정렬했을 때, 앞에서부터 K번째 있는 수를 출력한다.
코드
import sys
N, K = map( int, sys.stdin.readline().split() )
data_list = list( map( int, sys.stdin.readline().split()))
data_list.sort()
print(data_list[K-1])
풀이
첫 줄에 N과 K를 입력받았다.
N은 몇 개의 값이 들어올 것인지.
K는 몇 번째에 존재하는 것인지를 의미한다.
본인의 경우 파이썬 언어에서 제공하는 list를 활용해서 값을 입력받았다. (사실 리스트를 활용해서 풀었기 때문에 N의 역할은 없다고 생각한다)
list( map( int, sys.stdin.readline().split() ) )의 형태로 값을 입력받고, 값을 파이썬에서 제공해 주는 sort() 함수를 통하여 오름차순으로 정렬했다.
이후 K 번째 값을 출력.
0번부터 시작하기 시작하기 때문에 K-1를 입력해서 숫자의 시작 번호를 잡아준다.
오타나 이해가 안 가는 부분이 있다면 언제든지 댓글로 얘기해 주시면 감사드리겠습니다.
다음 포스팅 때 뵙겠습니다.
반응형
'백준 - Python' 카테고리의 다른 글
[백준 - 11170][Python] 0의 개수 (0) | 2023.02.07 |
---|---|
[백준 - 5800 ][Python] 성적 통계 (0) | 2023.02.06 |
[백준 - 10773][Python] 제로 (0) | 2023.02.04 |
[백준-10815][Python] 숫자 카드 (0) | 2023.02.03 |
[백준 - 1463][Python] 1로 만들기 (0) | 2023.01.26 |