100만 이하의 정수를 입력받으니까 양수와 음수 모두 포함이다. 
숫자는 중복되지 않는다. 
수열을 입력 받을 때, 인덱스에 해당하는 숫자가 있다/없다만 1값을 주면서 표시한다. 
음수가 들어올 수 있으니까, 모든 수에 100만을 더한다. 
출력할때는 값이 1인 것만 출력하되, 인덱스에서 100만을 빼면 원래 입력받은 수를 출력할 수 있다. 
 
 
#include "bits/stdc++.h"
using namespace std;

int n, num;
int arr[2000002];

int main(void){
  ios::sync_with_stdio(0);
  cin.tie(0);

  cin >> n;
  while(n--){
    cin >> num;
    num += 1000000;
    arr[num]++;
  }
  for(int i = 0; i < 2000002; i++){
    if(arr[i] == 1) {
      cout << i-1000000 << '\n';
    }
  }
  return 0;
}
 
728x90

'알고리즘 > 백준' 카테고리의 다른 글

수들의 합 백준 1789번 c++  (0) 2022.02.16
좌표 압축 백준 18870번 c++  (0) 2022.02.16
마인크래프트 백준 18111번 c++  (0) 2022.02.14
방 번호 백준 1475번 c++  (0) 2022.02.14
영화감독 숌 백준 1436번 c++  (0) 2022.02.14

+ Recent posts