Tags
- ๊ตฌํ
- Study
- ๊น์ด ์ฐ์ ํ์
- PGM
- ๊ทธ๋ํ ์ด๋ก
- ์ ์๋ก
- Dynamic Programming
- ์ํ
- greedy
- ๊ต์ฌ
- LV2
- ์๋ฎฌ๋ ์ด์
- queue
- dfs
- BOJ
- stack
- ๋๋น ์ฐ์ ํ์
- BFS
- CodingTest
- ๋ฐฑํธ๋ํน
- sort
- ๊ทธ๋ํ ํ์
- Python
- ๋ฌธ์์ด
- DP
- ์ ๋ ฌ
- SpringBoot
- ์๋ฃ๊ตฌ์กฐ
- Brute Force Algorithm
- Java
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_11723 : ์งํฉ ๋ณธ๋ฌธ
11723๋ฒ: ์งํฉ
์ฒซ์งธ ์ค์ ์ํํด์ผ ํ๋ ์ฐ์ฐ์ ์ M (1 ≤ M ≤ 3,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์ ์ํํด์ผ ํ๋ ์ฐ์ฐ์ด ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค.
www.acmicpc.net
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- set๋ฅผ ๊ตฌํํ๋ ๋ฌธ์ ์ด๋ค.
๐ธ ์ฝ๋ ๐ธ
import sys
m = int(sys.stdin.readline())
s = set()
for i in range(m):
order = sys.stdin.readline()
if order[:3] == "add":
s.add(int(order[4:]))
elif order[:6] == "remove":
x = int(order[7:])
if x in s:
s.remove(x)
elif order[:5] == "check":
sys.stdout.write(str(int(int(order[6:]) in s)) + "\n")
elif order[:6] == "toggle":
x = int(order[7:])
if x in s:
s.remove(x)
else:
s.add(x)
elif order[:3] == "all":
s = set(range(1,21))
elif order[:5] == "empty":
s = set()
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์๊ฐ์ด ์งง๊ธฐ ๋๋ฌธ์ ๋น ๋ฅธ ์ ๋ ฅ์ ์ฌ์ฉํ๋ค.
- add : x๊ฐ ์งํฉ์ ์์ด๋ ์ค๋ณต์ด ์ ๊ฑฐ๋๊ธฐ ๋๋ฌธ์ ๋ค add์ํจ๋ค.
- remove : x๊ฐ ์งํฉ์ ์์ผ๋ฉด ์ ๊ฑฐํ๋ค.
- check : x๊ฐ ์งํฉ์ ์์ผ๋ฉด 1, ์์ผ๋ฉด 0์ ์ถ๋ ฅํ๋ค.
- toggle : x๊ฐ ์งํฉ์ ์์ผ๋ฉด ์ ๊ฑฐ, ์์ผ๋ฉด ์ถ๊ฐํ๋ค.
- all : ์งํฉ์ { 1, 2, 3, . . . , 20 } ์ผ๋ก ์ด๊ธฐํ ํ๋ค.
- empty : ์งํฉ์ ๋ชจ๋ ์ง์ด๋ค.
๐ธ end ๐ธ
- set๋ฅผ ์ฌ์ฉํ ๊ธฐ์ด ์์ ๋ฌธ์ ๋ฅผ ์ฒ์ ํ์ด๋ดค๋๋ฐ, ์ด๋ ต์ง ์๊ฒ ํ ์ ์์๋ค.
- remove์์ ์ด๋ฏธ ํฌํจ๋์ด์๋์ง ํ์ธํ๋ ์ฝ๋๋ฅผ ๋นผ์ ๋ฐํ์ ์๋ฌ๊ฐ ๋ฌ์๋ค.
- KeyError๋ key๋ key-value ํํ ๋ฑ์์, ์๋ key๋ฅผ ํธ์ถํ์๋ ๋ฌ๋ค๊ณ ํ๋ค.
- dictionary๋ set๋ ํด์๋ก ๊ตฌํ๋์ด์๊ธฐ ๋๋ฌธ์ ์์๊ฐ key๋ก ์ด๋ฃจ์ด์ง๋ค.
- set๊ฐ ์๋๋ผ c++ ๋ฑ์์๋ ์ ํ์ ์ธ ๋นํธ๋ง์คํน ๋ฌธ์ ๋ก ํ์ด๋๋ค๊ณ ํ๋ค. ( ํ์ด ํฌ์คํ
)
- x์ ๋ฒ์๊ฐ 1~20์ด๋ฏ๋ก 20๊ฐ์ ๋นํธ๋ฅผ ํค๊ฑฐ๋ ๋๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉ๋๋ค.
728x90
'CodingTest > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1764 : ๋ฃ๋ณด์ก (0) | 2022.08.28 |
---|---|
BOJ_1620 : ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์ (0) | 2022.08.26 |
BOJ_2941 : ํฌ๋ก์ํฐ์ ์ํ๋ฒณ (0) | 2022.08.24 |
BOJ_1308 : D-Day (0) | 2022.08.24 |
BOJ_2816 : ๋์งํธ ํฐ๋น (0) | 2022.08.23 |