import sys
sys.stdin.readline().rstrip()
readline
은 마지막 엔터키까지 입력 받으므로 rstrip() 메소드 붙여줘야함
from itertools import permutations
-> 순열
from itertools import combinations
-> 조합
함수를 간단하게 작성할 수 있음
예를 들어, 덧셈을 수행하는 함수를 만들려면
def sum(a, b):
return a+b
위와 같이 작성해야하지만, 람다 표현식을 사용하면
lambda a,b : a+b
위와 같이 한 줄로 간단하게 작성 가능
파이썬 내장함수 sort
는 시간복잡도 O(N*logN)
1. 선택정렬
가장 작은 원소부터 선택해 알맞은 위치로 옮기는 작업을 반복하며 정렬하는 알고리즘
시간복잡도 : O(n^2)
2. 삽입정렬
선택한 원소보다 더 앞쪽에서 알맞은 위치로 삽입하며 정렬하는 알고리즘
시간복잡도 : O(n^2)
3. 버블정렬
두 원소 대소관계 비교하여 교환을 반복하며 정렬하는 알고리즘
시간복잡도 : O(n^2)
4. 계수정렬(Counting sort)
숫자 최댓값 크기만큼 0이 담긴 배열을 만들고, 숫자가 등장하는 횟수를 저장하여 그 횟수만큼 숫자를 출력함. 비교, 정렬 과정이 없어 빠름
리스트에 있는 요소를 한 줄씩 출력하고 싶을 때, for문 이용하는 것보다 join
이용하는 것이 빠름
arr = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
print(‘\n’.join(arr))
알파벳, 숫자가 섞인 문자열을 입력 받았을 때, isalpha(), isdigit() 메소드로 알파벳인지 문자열인지 확인 가능
튜플을 리스트로 바꿔줄 때
a = (1,2,3,4,5)
list(a)
해주면 a=[1,2,3,4,5] 된다.
책대로 하면 시간초과 뜨고.. 백트래킹으로 해봐야지 다시...!