백준 - Python

[백준 - 11004 ][Python] K번째 수

SeongJo 2023. 2. 5. 23:57
반응형

안녕하세요 성조입니다.

이 포스팅은 Python 3 버전을 기준으로 풀이됐습니다.

 

 

이번 문제는 직관적이라 금방 풀 수 있었으며, sort 함수를 활용해서 풀어내려 했는데 깜빡하고 빼놓고 풀어서 틀리고 다시 입력했던 문제였습니다.

 

 

 

문제 출처

https://www.acmicpc.net/problem/11004

 

11004번: K번째 수

수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오.

www.acmicpc.net


문제

수 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를 입력해서 숫자의 시작 번호를 잡아준다.

 


오타나 이해가 안 가는 부분이 있다면 언제든지 댓글로 얘기해 주시면 감사드리겠습니다.

 

다음 포스팅 때 뵙겠습니다.

반응형