<알고리즘 문제풀이&연습>/[C++] 백준

[백준 11004] K번째 수

사용자 BlockDMask 2017. 9. 8. 23:06
반응형
  • 안녕하세요. BlockDMask 입니다.

0. 문제

  • 백준 11004

  • BOJ 11004

1. 문제설명


수 n 개 가 입력되고 그중 k 번째 수를 출력.

(1 <= n <= 5,000,000)

(- <= k <= )


2. 풀이과정


동적할당을 통해서 n 개에 맞는 메모리를 할당하고,

(vector container 를 이용하면 메모리를 더 잡아 먹을 거같아서 배열을 이용했습니다)


C++ STL 에서 지원해주는 sort 함수를 통해 오름차순으로 정렬합니다.


정렬 된 배열에서 k 번째 정수를 출력합니다.


3. 코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include<iostream>
#include<cstdio>
#include<algorithm>
 
using namespace std;
 
int main(void){
    int n, k;
    scanf("%d %d"&n, &k);
 
    int * arr = new int[n];
    int num;
 
    //입력
    for(int i=0; i<n; i++){
        scanf("%d"&num);
        arr[i] = num;
    }
 
    //오름차순 정렬
    sort(&arr[0], &arr[n]);
 
    //출력
    printf("%d", arr[k-1]);
 
    delete []arr;
 
    return 0;
}
cs


4. 인증


감사합니다.

반응형