백준 13701 중복 제거 C++
- C
- 2023. 4. 12.
백준 13701 중복 제거.
백준 13701번 "중복 제거" 문제의 자세한 내용은 글 하단의 문제 링크를 참고하세요.
13701번 문제에 주어지는 입력 및 예시
입력:
12 1 449 12 555 1201 912 555 19372
출력:
12 1 449 555 1201 912 19372
코드
백준 13701번 "중복 제거" 문제의 코드입니다.
아래 코드에선 비트맵이 쓰였습니다.
비트맵이란 0또는 1로 이루어진 1차원 배열로서, 각 비트(bit)가 차지하는 메모리의 크기가 매우 작습니다. 예를 들어, int형 변수 하나를 선언하면 4바이트(32비트)의 메모리를 사용하는데, 이를 비트맵으로 사용하면 32개의 0또는 1을 저장할 수 있습니다.
#include <bits/stdc++.h>
using namespace std;
bitset<33554432> a;
int main(){
ios_base::sync_with_stdio(false); cin.tie(0);cout.tie(0);
int num;
while(cin>>num){
if(!a[num]){
a[num]=1;
cout<<num<<' ';
}
}
return 0;
}
실행
위의 코드를 예제의 입력을 넣어 실행했을 때의 결과입니다.
'C' 카테고리의 다른 글
백준 4659 비밀번호 발음하기 C++ (0) | 2023.04.12 |
---|---|
백준 2910 빈도 정렬 C++ (0) | 2023.04.12 |
백준 15719 중복된 숫자 C++ (0) | 2023.04.12 |
백준 2828 사과 담기 게임 C++ (0) | 2023.04.12 |
백준 1992 쿼드 트리 C++ (0) | 2023.04.11 |