CS/Algorithm
[ JAVA / 백준 : 11723] 집합
yujindonut
2021. 7. 30. 10:13
728x90
https://www.acmicpc.net/problem/11723
비트마스크를 이용하지 않으면 시간초과가 나는 문제
비트 마스크 ..어렵다
import java.util.*;
// 집합
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int m = sc.nextInt(); // 연산 수
Set<Integer> set = new HashSet<>(); // 중복 허용 X
for (int i = 0; i < m; i++) {
String cal = sc.next();
int x = 0;
switch (cal) {
case "add" :
x = sc.nextInt();
set.add(x);
break;
case "remove" :
x = sc.nextInt();
set.remove(x);
break;
case "check" :
x = sc.nextInt();
if (set.contains(x))
sb.append("1\n");
else
sb.append("0\n");
break;
case "toggle" :
x = sc.nextInt();
if (set.contains(x))
set.remove(x);
else
set.add(x);
break;
case "all" :
for (int k = 0; k < 20; k++) {
set.add(k + 1);
}
break;
case "empty" :
set.clear();
break;
}
}
System.out.print(sb.toString());
sc.close();
}
}
참고 https://hongjuzzang.github.io/bitmask/bit_mask/
[java] 비트 마스크
비트 연산 도전기
hongjuzzang.github.io
728x90