알고리즘/백준

BOJ13701 /C++

내이름은 킹햄찌 2022. 5. 22. 23:29

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

 

13701번: 중복 제거

문제: N개의 정수 A1, A2, ..., AN 을 읽고, 이들 중에서 반복되는 수를 제외하고 남은 N'개의 수 B1, B2, ..., BN’ 을 입력된 순서대로 출력하시오. 이때, 0 ≤ Ai < 225 = 33554432, i=1,2,…,N. 입력의 개수 N은 1

www.acmicpc.net

백준온라인저지 13701 중복 제거 문제입니다.

 

아이디어

bitset을 이용하여 숫자의 해당하는 비트를 변경함으로써 중복을 확인했습니다.

 

#include<iostream>
#include<bitset>

using namespace std;

bitset<1 << 25> bit;
int main(void) {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	int n;
	while (cin >> n) {
		if (bit[n]) continue;
		bit[n] = 1;
		cout << n << " ";
	}
}