[백준] 10867. 중복 빼고 정렬하기 (c++)

Algorithm|2022. 1. 14. 20:50
반응형
 

10867번: 중복 빼고 정렬하기

첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다.

www.acmicpc.net

 

map의 특성을 이용해 풀었다.

중복을 막는 <set> 이란 라이브러리도 있는데 나중에 찾아봐야겠다.

 

num의 범위를 1~1000으로 생각해 풀어서 계속 헤맸는데,

-1000 ~ 1000이었다. 문제를 잘 읽도록 하자.

int main(void)
{
  int n = 0;
  int num = 0;
  vector<int> map(2001);

  cin >> n;

  for(int i=0; i<n; i++)
  {
    cin >> num;
    map[num+1000] = 1;
  }

  for(int i=0; i<=2001; i++)
  {
    if(map[i] == 1)
    {
      cout << i-1000 << " ";
    }
  }

  return 0;
}

 

반응형

댓글()