Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- hackerrank
- 파이썬
- 편스토랑
- 데이콘
- gs25
- PYTHON
- 프로그래머스 파이썬
- 백준
- Baekjoon
- programmers
- 편스토랑 우승상품
- 금융문자분석경진대회
- leetcode
- ChatGPT
- 캐치카페
- Kaggle
- AI 경진대회
- github
- 우분투
- Docker
- dacon
- 자연어처리
- 프로그래머스
- ubuntu
- Git
- 코로나19
- 더현대서울 맛집
- Real or Not? NLP with Disaster Tweets
- 맥북
- SW Expert Academy
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 11723번 : 집합 (Python) 본문
728x90
반응형
코딩 1일 1문제! 오늘의 문제는 백준의 집합입니다.
👨🏻💻 문제 풀이
문제를 보면 입력을 약 3백만번 정도 하도록 되어있습니다.
import sys
input = sys.stdin.readline
그래서 위와 같이 input() 대신 sys.stdin의 readline()을 대신 사용합니다.
input_command = input().split()
command, data = None, None
if len(input_command) == 2:
command, data = input_command[0], int(input_command[1])
else:
command = input_command[0]
그리고 입력 받은 문자열을 공백을 기준으로 나누어
길이가 2 이상이면 첫번째 값을 명령어 두번째 값을 데이터로 사용합니다.
def ziphap(my_ziphap, command, data):
if command == "add":
my_ziphap.add(data)
elif command == "remove":
my_ziphap.discard(data)
elif command == "check":
if data in my_ziphap:
print(1)
else:
print(0)
elif command == "toggle":
if data in my_ziphap:
my_ziphap.remove(data)
else:
my_ziphap.add(data)
elif command == "all":
my_ziphap = set([i for i in range(1, 21)])
elif command == "empty":
my_ziphap = set()
return my_ziphap
그 이후에 명령어에 해당하는 행동을 수행하는 함수를 만들어 줍니다.
전체 코드는 아래를 참고해주세요.
👨🏻💻 코드 ( Solution )
import sys
input = sys.stdin.readline
def ziphap(my_ziphap, command, data):
if command == "add":
my_ziphap.add(data)
elif command == "remove":
my_ziphap.discard(data)
elif command == "check":
if data in my_ziphap:
print(1)
else:
print(0)
elif command == "toggle":
if data in my_ziphap:
my_ziphap.remove(data)
else:
my_ziphap.add(data)
elif command == "all":
my_ziphap = set([i for i in range(1, 21)])
elif command == "empty":
my_ziphap = set()
return my_ziphap
if __name__ == "__main__":
my_ziphap = set()
N = int(input())
for _ in range(N):
input_command = input().split()
command, data = None, None
if len(input_command) == 2:
command, data = input_command[0], int(input_command[1])
else:
command = input_command[0]
my_ziphap = ziphap(my_ziphap=my_ziphap, command=command, data=data)
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 5338번 : 마이크로소프트 로고 (Python) (2) | 2022.02.09 |
---|---|
[BaekJoon] 10926번 : ??! (Python) (0) | 2022.02.08 |
[leetCode] 1844. Replace All Digits with Characters (Python) (0) | 2022.02.06 |
[leetCode] 1748. Sum of Unique Elements (Python) (0) | 2022.02.05 |
[leetCode] 1880. Check if Word Equals Summation of Two Words (Python) (0) | 2022.02.04 |
Comments