๋ฌธ์
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/11723
- ๋น์ด์๋ ๊ณต์งํฉ S๊ฐ ์ฃผ์ด์ก์ ๋, ์๋ ์ฐ์ฐ์ ์ํํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
- add x: S์ x๋ฅผ ์ถ๊ฐํ๋ค. (1 ≤ x ≤ 20) S์ x๊ฐ ์ด๋ฏธ ์๋ ๊ฒฝ์ฐ์๋ ์ฐ์ฐ์ ๋ฌด์ํ๋ค.
- remove x: S์์ x๋ฅผ ์ ๊ฑฐํ๋ค. (1 ≤ x ≤ 20) S์ x๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ์ฐ์ฐ์ ๋ฌด์ํ๋ค.
- check x: S์ x๊ฐ ์์ผ๋ฉด 1์, ์์ผ๋ฉด 0์ ์ถ๋ ฅํ๋ค. (1 ≤ x ≤ 20)
- toggle x: S์ x๊ฐ ์์ผ๋ฉด x๋ฅผ ์ ๊ฑฐํ๊ณ , ์์ผ๋ฉด x๋ฅผ ์ถ๊ฐํ๋ค. (1 ≤ x ≤ 20)
- all: S๋ฅผ {1, 2, ..., 20} ์ผ๋ก ๋ฐ๊พผ๋ค.
- empty: S๋ฅผ ๊ณต์งํฉ์ผ๋ก ๋ฐ๊พผ๋ค.
- check ์ฐ์ฐ์ด ์ฃผ์ด์ง๋๋ง๋ค, ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๊ธฐ
์์ด๋์ด
- ์ฐ์ฐ ํ์๋งํผ boolean ๋ฐฐ์ด์ ๋ง๋ค์ด์ true, false๋ก ๊ฐ์ ๊ด๋ฆฌํ๋ฉด ์ผ์ผ์ด ๊ฐ์ ๋ฃ์๋ค๊ฐ ๋นผ๋ ๊ฒ ๋ณด๋ค ์ข ๋ ํจ์จ์ ์ด์ง ์์๊น๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.
- if๋ฌธ์ ํ์ฉํ์ฌ ์ฐ์ฐ์ ๋ฐ๋ผ ๋ค๋ฅธ ์ํธ์์ฉ์ ํ๋ฉด ๋ ๊ฒ ๊ฐ์๋ค.
๊ฒช์ ์ํ์ฐฉ์ค
- ๋ฐ๋ณด ๊ฐ๊ฒ๋... "add 1" ์ฒ๋ผ ๋ชจ๋ "๋ฌธ์ + ์ซ์" ํํ๋ก ์ ๋ ฅ์ด ๋ค์ด์ค๋ ๊ฒ์ด ์๋๋ฐ ํญ์ ์ฐ์ฐ ๋ฐฉ๋ฒ์ ์ ๋ ฅ๋ฐ๊ณ nextToken์ ์จ์ ๋ฌธ์์ด๊ณผ ์ซ์๋ฅผ ์ ์ฅํ๋ ค๋ค๋ณด๋ ์ค๋ฅ๊ฐ ๋ฌ๋ค. (all์ด๋ empty๋ ๋ค์ ์ซ์๊ฐ ์๋ค...)
- ํญ์ ์์ธ์ฒ๋ฆฌ ํ ๊ฒ ์๋์ง ์ ๋ ํ์....!
์ฝ๋
import java.io.*;
import java.util.*;
public class BOJ11723 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
boolean arr[] = new boolean[21];
for(int i = 0; i < n; i++){
StringTokenizer st = new StringTokenizer(br.readLine());
String cal = st.nextToken();
if(cal.equals("add")){
int x = Integer.parseInt(st.nextToken());
if(arr[x] == false){
arr[x] = true;
}
}
if(cal.equals("remove")){
int x = Integer.parseInt(st.nextToken());
if(arr[x] == true){
arr[x] = false;
}
}
if(cal.equals("check")){
int x = Integer.parseInt(st.nextToken());
if(arr[x] == true){
sb.append(1 + "\n");
}
else{
sb.append(0 + "\n");
}
}
if(cal.equals("toggle")){
int x = Integer.parseInt(st.nextToken());
if(arr[x] == true){
arr[x] = false;
}
else{
arr[x] = true;
}
}
if(cal.equals("all")){
for(int j = 0; j < 21; j++){
arr[j] = true;
}
}
if(cal.equals("empty")){
for(int j = 0; j < 21; j++){
arr[j] = false;
}
}
}
System.out.println(sb);
}
}
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] BOJ 2231 ๋ถํดํฉ (0) | 2024.07.10 |
---|---|
[Java] BOJ 1978 ์์ ์ฐพ๊ธฐ (0) | 2024.07.09 |
[Java] BOJ 30802 ์ฐ์ปดํคํธ (0) | 2024.07.09 |
[Java] BOJ 4153 ์ง๊ฐ์ผ๊ฐํ (0) | 2024.07.09 |
[Java] BOJ 1620 ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์ (2) | 2024.07.08 |