• 문제 링크
11723번: 집합
첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다.
www.acmicpc.net
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder sb = new StringBuilder();
Set<Integer> set = new HashSet<>();
int m = Integer.parseInt(br.readLine());
while (m-- > 0) {
StringTokenizer st = new StringTokenizer(br.readLine());
String s = st.nextToken();
switch (s) {
case "add":
set.add(Integer.parseInt(st.nextToken()));
break;
case "remove":
set.remove(Integer.parseInt(st.nextToken()));
break;
case "check":
sb.append(set.contains(Integer.parseInt(st.nextToken())) ? "1\n" : "0\n");
break;
case "toggle": {
int i = Integer.parseInt(st.nextToken());
if (set.contains(i)) set.remove(i);
else set.add(i);
break;
}
case "all": {
int i = 0;
while (i++ < 20) set.add(i);
break;
}
default:
set.clear();
break;
}
}
bw.write(sb.toString());
bw.flush();
}
}
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 1980 햄버거 사랑 - Brute Force / Java (0) | 2024.04.23 |
---|---|
[백준] 9873 Cow Baseball - Brute Force / Java (0) | 2024.04.22 |
[백준] 5622 다이얼 - Implementation / Java (0) | 2024.04.20 |
[백준] 2941 크로아티아 알파벳 - Implementation / Java (0) | 2024.04.19 |
[백준] 1316 그룹 단어 체커 - Implementation / Java (0) | 2024.04.18 |
댓글