백준 11004번 문제
키워드는 정렬!!
K번째 수를 찾기 위해 주어진 수열을 오름차순으로 정렬한 후, K번째 수를 출력하는 파이썬 코드를 작성할 수 있습니다. 아래는 해당 문제를 해결하기 위한 파이썬 코드입니다.
```python
import sys
# 입력을 빠르게 받기 위해 sys.stdin.readline 사용
input = sys.stdin.readline
# N과 K를 입력받음
N, K = map(int, input().split())
# N개의 수를 입력받음
A = list(map(int, input().split()))
# A를 오름차순으로 정렬
A.sort()
# K번째 수를 출력 (K는 1부터 시작하므로 K-1 인덱스)
print(A[K-1])
```
### 코드 설명:
1. `sys.stdin.readline`을 사용하여 입력을 빠르게 받습니다. 이는 대량의 데이터를 처리할 때 유리합니다.
2. 첫 번째 줄에서 N과 K를 입력받습니다.
3. 두 번째 줄에서 N개의 정수를 입력받아 리스트 A에 저장합니다.
4. `A.sort()`를 사용하여 리스트 A를 오름차순으로 정렬합니다.
5. K번째 수는 1부터 시작하므로, 인덱스는 K-1로 접근하여 출력합니다.
### 주의사항:
- 입력의 크기가 최대 5,000,000이므로, 정렬 알고리즘의 시간 복잡도는 O(N log N)입니다. 파이썬의 기본 정렬 함수는 Timsort를 사용하여 이 복잡도를 만족합니다.
- 메모리 사용량도 고려해야 하므로, 입력 데이터의 크기에 따라 적절한 환경에서 실행해야 합니다.
항해28일차 (1) | 2024.11.25 |
---|---|
항해27일차 (1) | 2024.11.24 |
99클럽 코테 스터디 25일차 TIL + 오늘의 학습 키워드 : 힙 (1) | 2024.11.22 |
99클럽 코테 스터디 24일차 TIL + 오늘의 학습 키워드 : 힙 (0) | 2024.11.21 |
99클럽 코테 스터디 23일차 TIL + 오늘의 학습 키워드 : 힙 (1) | 2024.11.19 |