기억하기
- 알고리즘 문제를 풀 때는 메모하며 구상하고 코드로 구현하자.
- 어디서 반복을 해야하는지, 순서가 잡힌다.
- 구현이 어렵다면 문제를 다시 세세하게 살피자, 거기에 힌트가 있는거같다.
- 이중 for문, while문에서 break를 잘 활용하자.
- for문, while문은 멈추지 않는다. 중간에 멈추고 싶을 때 사용하자.
코드
from itertools import combination
- (관련 내용은 더 찾아보자..) 경우의 수를 뽑을 때 사용하면 좋을 것 같다.
h=11, m=5, s=20
print(('%d:%d:%d') % (h,m,s))
print(('%2d:%2d:%2d') % (h,m,s))
print(('%02d:%02d:%02d') % (h,m,s))
- hackerank 에서 풀었던 문제 중 기억하고 싶었던 표현이다.
zip
enumerate
map
sort
sorted
- 위 함수들을 활용한 부분을 메모해야겠다... 생각보다 많이 쓴다.
from collections import Counter
Counter(list)
- 리스트 내 많은 데이터들을 집계할 때, 분포모양 등 확인이 가능하다.
from functools import reduce
reduce((func), (iterable), (초기값))
- 리스트 내 내부 원소들을 하나씩 꺼내서 곱셈 등 연산을 연속적으로 할 때 (연산은 lambda를 이용해서 만들 수 있고 다른 함수에서도 많이 활용됨.)
str.startswith((시작시점에서 탐색할 문자열, 패턴), 위치)
- 문자열에서 찾고자 하는 패턴을 찾는 데 그 문자열의 시작점에서 찾는다.