-
백준 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