Skip to content

Commit 00814ec

Browse files
committed
백준 11723번 집합
문제 링크: https://www.acmicpc.net/problem/11723
1 parent 6804cb8 commit 00814ec

File tree

4 files changed

+104
-0
lines changed

4 files changed

+104
-0
lines changed

백준 11723번 집합/main.py

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import sys
2+
3+
4+
def solve():
5+
# input() 사용하면, 시간초과 발생함
6+
N = int(sys.stdin.readline().strip())
7+
ans = set()
8+
9+
for _ in range(N):
10+
# input() 사용하면, 시간초과 발생함
11+
dt = sys.stdin.readline().strip()
12+
op = ''
13+
v = 0
14+
15+
if dt.__contains__(' '):
16+
op, v = dt.split(' ')
17+
v = int(v)
18+
else:
19+
op = dt
20+
21+
if op == 'add':
22+
ans.add(v)
23+
elif op == 'remove':
24+
# if v in ans:
25+
# ans.remove(v)
26+
ans.discard(v)
27+
elif op == 'check':
28+
p = 1 if v in ans else 0
29+
print(p)
30+
elif op == 'toggle':
31+
if v in ans:
32+
ans.remove(v)
33+
else:
34+
ans.add(v)
35+
elif op == 'all':
36+
t = [i for i in range(1, 21)]
37+
ans = set(t)
38+
elif op == 'empty':
39+
ans = set()
40+
41+
if __name__ == '__main__':
42+
solve()

백준 11723번 집합/test1.txt

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
26
2+
add 1
3+
add 2
4+
check 1
5+
check 2
6+
check 3
7+
remove 2
8+
check 1
9+
check 2
10+
toggle 3
11+
check 1
12+
check 2
13+
check 3
14+
check 4
15+
all
16+
check 10
17+
check 20
18+
toggle 10
19+
remove 20
20+
check 10
21+
check 20
22+
empty
23+
check 1
24+
toggle 1
25+
check 1
26+
toggle 1
27+
check 1
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
1
2+
1
3+
0
4+
1
5+
0
6+
1
7+
0
8+
1
9+
0
10+
1
11+
1
12+
0
13+
0
14+
0
15+
1
16+
0

백준 11723번 집합/test_main.py

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import sys
2+
from pathlib import Path
3+
from unittest import TestCase
4+
from main import solve
5+
6+
def my_solve(testcase_input):
7+
sys.stdin = open(testcase_input, 'r')
8+
stdout = sys.stdout
9+
sys.stdout = open('stdout.txt', 'w')
10+
solve()
11+
sys.stdout.close()
12+
sys.stdout = stdout
13+
14+
class Test(TestCase):
15+
def test1_solve(self):
16+
my_solve('test1.txt')
17+
self.assertEqual(
18+
Path('test1_answer.txt').read_text().strip(),
19+
Path('stdout.txt').read_text().strip())

0 commit comments

Comments
 (0)