728x90
SMALL
백준 문제 풀이: 11004
문제 링크: https://www.acmicpc.net/problem/11004
문제 설명:
주어진 정수 배열에서 k번째로 작은 수를 찾는 문제입니다. 자세한 내용은 위 링크를 참고하세요.
문제 해결 코드
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
// 입력 크기와 찾을 k번째 수 입력
int n, k;
cin >> n >> k;
// 벡터를 사용하여 입력받기
vector arr(n);
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
// 정렬 수행
sort(arr.begin(), arr.end());
// k번째 작은 수 출력 (0-indexed이므로 k-1)
cout << arr[k - 1] << '\n';
return 0;
}
코드 설명
위 코드는 정수 배열에서 k번째 작은 값을 찾는 알고리즘을 구현한 코드입니다. 주요 로직은 다음과 같습니다:
- 정수 배열의 크기
n
과 찾고자 하는 k번째 수의 순서k
를 입력받습니다. - 배열을 입력받고 STL의
sort
함수를 사용하여 정렬합니다. - 정렬된 배열에서
k-1
번째 값을 출력합니다.
결과
이 코드는 정렬을 활용하여 문제를 해결하며, 시간복잡도는 O(n log n)입니다. 입력 크기가 크더라도 효율적으로 수행됩니다.
다른 접근 방식이나 개선 사항이 있다면 댓글로 공유 부탁드립니다!
728x90
LIST
'BAEKJOON > 수학' 카테고리의 다른 글
백준 30008번 [준영이의 등급](C++) -yes6686- 티스토리 (0) | 2024.12.22 |
---|---|
백준 25487번 [단순한 문제 (Large)](C++) -yes6686- 티스토리 (1) | 2024.12.17 |
백준 8974번 [희주의 수학시험](C++) -yes6686- 티스토리 (0) | 2024.11.15 |
백준 9546번 [3000번 버스](C++) -yes6686- 티스토리 (0) | 2024.11.14 |
백준 4159번 [알래스카](C++) -yes6686- 티스토리 (0) | 2024.08.27 |