ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 11004번: K번째 수
    정렬(Sort) 2018. 6. 24. 13:19
    반응형

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


    1. 문제

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


    2. 알고리즘

    키워드 - 정렬


    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    #include <iostream>
    #include <sstream>
    #include <string>
    #include <algorithm>
    #include <functional>
    #include <vector>
    #include <list>
    #include <queue>
    #include <deque>
    #include <map>
    #include <set>
    #include <stack>
    #include <cstring>
    using namespace std;
     
    #define MAX_SIZE 100
    #define INF 0x7fffffff
     
    /*
    * @brief - STL sort 사용
    * @memory  - 21520 kb
    * @time    - 1116 ms
    */
    int main() {
     
        std::ios::sync_with_stdio(false); cin.tie(0);
     
        int n, k;
        cin >> n >> k;
     
        vector<int> arr(n);
        for(int i=0; i<n; i++)
            cin >> arr[i];
     
        sort(arr.begin(), arr.end());
     
        cout << arr[k-1<< "\n";
     
        return 0;
    }
     
    cs


    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    #include <iostream>
    #include <sstream>
    #include <string>
    #include <algorithm>
    #include <functional>
    #include <vector>
    #include <list>
    #include <queue>
    #include <deque>
    #include <map>
    #include <set>
    #include <stack>
    #include <cstring>
    using namespace std;
     
    #define MAX_SIZE 100
    #define INF 0x7fffffff
     
    int comp( const void* a, const void* b ) {
        return ( *int* )a - *int* )b );
    }
     
    /*
    * @brief   - qsort 사용
    * @memory  - 41048 kb
    * @time    - 1424 ms
    */
    int main() {
     
        std::ios::sync_with_stdio(false); cin.tie(0);
     
        int n, k;
        cin >> n >> k;
     
        int *arr = (int*)new int[n];
        for(int i=0; i<n; i++)
            cin >> arr[i];
     
        qsort(arr, n, sizeof(int), comp);
     
        cout << arr[k-1<< endl;
     
        delete[] arr;
        return 0;
    }
     
    cs

    반응형

    댓글

Designed by Tistory.