오답노트
[정렬] BOJ 11931번 수 정렬하기 4 본문
https://www.acmicpc.net/problem/11931
11931번: 수 정렬하기 4
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
- 문제 파악
N개의 정수를 내림차순으로 정렬하여 출력하라 (정수는 음수 또는 양수이며 절대값은 1,000,000보다 작거나 같다)
- 정답
수 정렬하기 3 과 같은 풀이
#include "bits/stdc++.h"
using namespace std;
int arr[2000002];
int main()
{
cin.tie(0);
ios::sync_with_stdio(0);
int n, num;
cin>>n;
int nmin = 1000000, nmax = -1000000;
for(int i = 0; i < n ; i++)
{
cin>>num;
if(num < 0)
arr[1000000 - num] = 1;
else
arr[num]= 1;
nmin = min(nmin,num);
nmax = max(nmax,num);
}
for(int i = nmax; i >= nmin ; i--)
{
if(i < 0)
{
if(arr[1000000 - i])
cout<<i<<"\n";
}
else
{
if(arr[i])
cout<<i<<"\n";
}
}
}
'C,C++ > 코딩테스트' 카테고리의 다른 글
[정렬] BOJ 10814번 나이순 정렬 (0) | 2022.06.06 |
---|---|
[정렬] BOJ 15688번 수 정렬하기 5 (0) | 2022.06.06 |
[정렬] BOJ 10989번 수정렬하기 3 - 오답노트 (0) | 2022.06.06 |
[정렬] BOJ 2751번 수 정렬하기2 (0) | 2022.06.06 |
[정렬] BOJ 2750번 수 정렬하기 (0) | 2022.06.06 |