ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 1015 - 수열 정렬
    백준 algorithm 2020. 7. 15. 23:43
    반응형

     

    => pair를 사용하여 문제를 해결하였습니다. 

    => pair.first : 원소 값

    => pair.secodn : 원래의 INDEX 값
    => 위와 같이 설정을 하고 문제를 풀었습니다. 

     

     

    • 입력받은 pair형 vector를 sort함수를 하여 정렬시킵니다. 
    • 정렬된 배열을 처음부터 읽으며, second 값을 기준으로 새로운 배열의 INDEX에 값을 대입합니다. 
    • ans [arr [i]. second]=i;

    위와 같은 논리로 코드를 짰습니다. 

     

     

    *pair형 배열을 만드는 방법을 찾지 못해, pair형 vector로 답을 생성하였습니다. 

     

     

     

     

     

    <code>

     

    #include <iostream>
    #include <algorithm>
    #include <string>
    
    using namespace std;
    
    
    int main()
    {
        ios_base::sync_with_stdio(false);
        cin.tie(nullptr);
        cout.tie(nullptr);
       
        vector<pair<int, int>> arr;
        int ans[1001];
        
        int N;
        cin >>N;
        for(int i=0; i<N; i++)
        {
            int tmp;
            cin >> tmp;
            pair<int, int> tmpPair = make_pair(tmp, i);
            arr.push_back(tmpPair);
        }
        
        sort(arr.begin(), arr.end());
        
        for(int i=0; i<N; i++)
        {
            ans[arr[i].second]=i;
        }
        
        for(int i=0; i<N; i++)
        {
           cout<< ans[i]<<" ";
        }
        return 0;
    }
    
    

     

    반응형

    '백준 algorithm' 카테고리의 다른 글

    백준 11650 - 좌표 정렬하기  (0) 2020.07.23
    백준 2667 - 단지번호붙이기  (0) 2020.07.23
    백준 1924 - 2007년  (0) 2020.07.10
    백준 10989 - 수 정렬하기 3  (0) 2020.07.09
    백준 1707 - 이분 그래프  (0) 2020.07.09

    댓글

Designed by Who.