-
[Python] ๋ฐฑ์ค - 11723 ์งํฉ__Python/__Algorithm 2022. 3. 24. 14:29
๋ฌธ์
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๋ฅผ ๊ณต์งํฉ์ผ๋ก ๋ฐ๊พผ๋ค.
๐น ์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ํํด์ผ ํ๋ ์ฐ์ฐ์ ์ M (1 ≤ M ≤ 3,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์ ์ํํด์ผ ํ๋ ์ฐ์ฐ์ด ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค.
๐น ์ถ๋ ฅ
check ์ฐ์ฐ์ด ์ฃผ์ด์ง๋๋ง๋ค, ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด ๋ฐฉ๋ฒ
๐น ๊ตฌํ
๐น ์งํฉ
๐น ๊ฐ ์ ๋ ฅ ์กฐ๊ฑด๋ณ ๋์ ๋ฐฉ์์ ๊ตฌํ.
๐น ๋ค๋ฅธ ๋ฐ์ดํฐ ๊ตฌ์กฐ & ์ ์ฌํ ๋ฌธ์ - ํ(#10845), ํ 2(#18258), ์คํ(#10828)
๊ตฌํ ์ฝ๋
import sys m = int(sys.stdin.readline()) s = set() for _ in range(m): order = sys.stdin.readline().split() od = order[0] if od == 'all': s = set(range(1,21)) elif od == 'empty': s = set() else: x = int(order[1]) if od == 'add' and x not in s: s.add(x) elif od == 'remove' and x in s: s.discard(x) elif od == 'check': print([0,1][x in s]) elif od == 'toggle' and x in s: s.discard(x) elif od == 'toggle' and x not in s: s.add(x)
์คํ ๊ฒฐ๊ณผ
๐ก
728x90'__Python > __Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ๋ฐฑ์ค - 1018 ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ (1) 2022.03.25 [Python] ๋ฐฑ์ค - 1918 ํ์ ํ๊ธฐ์ (0) 2022.03.24 [Python] ๋ฐฑ์ค - 2559 ์์ด (0) 2022.03.24 [Python] ๋ฐฑ์ค - 1952 ๋ฌํฝ์ด 2 (0) 2022.03.24 [Python] ๋ฐฑ์ค - 1913 ๋ฌํฝ์ด(๊ธฐ์ด ๋ฐฐ์ด๋ค๋ฃจ๊ธฐ) (0) 2022.03.24