파이썬 기본 check point 정리
0. 입력
0-1. 문자열 입력
① 3 4 로 입력이 주어질 때(여러개의 숫자가 한줄로) 각각의 int로 저장하는 방법
line = map(int, input().split()) # 자꾸 까먹는다 ⭐️⭐️map⭐️⭐️을 사용하자 map(function, iterable)
② 빠른 입력
문자열의 경우 개행문자까지 저장하기 때문에 ⭐️⭐️.rstrip()⭐️⭐️필수
import sys
input=sys.stdin.readline
line=input().rstrip()
1. 문자열
1-1. python의 백틱
변수="my string"
print(f”{변수}로 사용하면 됨“)
1-2. any
vowel=["a","e","i","o","u"]
myStr="apple"
any(n in vowel for n in myStr)
2. 딕셔너리
2-1. max 활용
① value가 가장 큰 key를 반환 : my_max=max(my_dic,key=my_dic.get)
② value가 가장 큰 요소가 여러개라면:
max_key=max(my_dic.values()) #max는 기본적으로 iterable 요소를 반환하는데 딕셔너리에서는 key를 의미
maxArr=[n for n in my_dic.items() if n[1]==max_key]
2. Set vs List
결론부터 말하자면
Set은 특정요소가 set안에 들어있는지 찾는 blahblah in mySet 연산의 시간 복잡도가 O(1)
List는 시간복잡도가 O(n)
but 정렬은 리스트가 빠르다
두번째 name입력을 받을때 첫번째 name list에 이미 있는사람인지 확인하는 "name in arr1"에서 O(n)이 추가되므로 실질적 시간복잡도가 O(n^2)이 됨.
Set은 in연산자의 시간 복잡도가 O(1)이기 때문에 arr1을 set 자료구조로 변경⭐️
3. 정렬
조건 여러개 둘 수 있음
커리큘럼