백준 1015 수열 정렬(c++)

2022. 7. 17. 16:44·PS/정렬 알고리즘[Sort]

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

 

1015번: 수열 정렬

P[0], P[1], ...., P[N-1]은 0부터 N-1까지(포함)의 수를 한 번씩 포함하고 있는 수열이다. 수열 P를 길이가 N인 배열 A에 적용하면 길이가 N인 배열 B가 된다. 적용하는 방법은 B[P[i]] = A[i]이다. 배열 A가 주

www.acmicpc.net

<코드>

#include <iostream>
#include <utility>
#include <algorithm>
#include <vector>
#include <functional>
using namespace std;


int main()
{
	int n;
	cin>>n;
	vector<pair<int,int>>v;
	for(int i=0;i<n;i++)
	{
		int a;
		cin>>a;
		v.push_back(make_pair(a,0));
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			if(i==j) continue;
		    if(v[j].first>v[i].first) v[j].second++;
			else if(j>i && v[j].first==v[i].first) v[j].second++;  
		}
	}
	for(int i=0;i<v.size();i++)
	{
		cout<<v[i].second<<' ';
	}
}

<풀이과정>

원소가 다른 원소보다 큰 경우를 따지면 된다.

pair벡터에서 벡터의 첫번째 원소가 다른 첫번째 원소보다 크다면 두 번째 원소의 값을 1 증가시켜주면 된다.

하지만, 같은 경우도 고려해야한다. 만약에 같다면, 원소의 위치가 오른쪽에 있다면 두 번째 원소의 값을 1 증가시켜주면 원소를 비내림차순으로 정렬시킬 수 있게 된다. 

저작자표시 비영리 변경금지 (새창열림)

'PS > 정렬 알고리즘[Sort]' 카테고리의 다른 글

백준 2805 나무 자르기(c++)  (0) 2022.07.18
백준 2776 암기왕(c++)  (0) 2022.07.18
18870 좌표 압축(c++)  (0) 2022.07.13
백준 20291 파일 정리(c++)  (0) 2022.07.12
백준 1374 강의실(c++)  (1) 2022.07.11
'PS/정렬 알고리즘[Sort]' 카테고리의 다른 글
  • 백준 2805 나무 자르기(c++)
  • 백준 2776 암기왕(c++)
  • 18870 좌표 압축(c++)
  • 백준 20291 파일 정리(c++)
SeungbeomKim
SeungbeomKim
[IT(PS, CS, SW, etc.) 지식 기록] Github : https://github.com/daily1313/
  • SeungbeomKim
    개발 블로그
    SeungbeomKim
  • 전체
    오늘
    어제
    • 분류 전체보기 (383) N
      • 일상 (33)
        • 여행 (17)
        • 회고록 (9)
        • 리뷰 (7)
      • PS (138)
        • 그리디 알고리즘[Greedy] (25)
        • 정렬 알고리즘[Sort] (18)
        • 문자열 알고리즘[String] (14)
        • 동적 계획 알고리즘[DP] (17)
        • 깊이 우선 탐색, 너비 우선 탐색[DFS, BFS.. (34)
        • 재귀[Recursion] (2)
        • 백트래킹[Backtracking] (5)
        • 브루트포스 알고리즘[Bruteforce] (16)
        • 자료 구조[Data Structure] (4)
        • 분할 정복 알고리즘[Divide & Conquer.. (3)
      • CS (22)
      • Network (11)
      • Database (8)
        • Elasticsearch (3)
      • Linux (2)
      • JavaScript (4)
        • AngularJS (1)
      • Java (93)
        • Effective Java (5)
        • Java Concept (20)
        • Spring (62)
        • Design Pattern (3)
      • Python (2)
      • Vscode (1)
      • DevOps (43)
        • AWS (27)
        • Git (7)
        • Docker (6)
        • Nginx (1)
      • 자격증 (10)
        • SQL (4)
      • 사이드 프로젝트 (1) N
        • MatJido (1) N
      • 기타 (9)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 소개
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    컴퓨터구조
    정보처리기사 필기
    BFS
    정보처리기사
    정보처리기사 실기
    Wi-Fi
    백트래킹
    Spring
    Effective Java
    너비 우선 탐색
    AWS
    dp
    다이나믹 프로그래밍
    docker
    이펙티브 자바
    sqld
    일본여행
    dfs
    springboot
    메타코딩
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
SeungbeomKim
백준 1015 수열 정렬(c++)
상단으로

티스토리툴바