Python3) list.pop(0)은 시간복잡도가 O(n)이니, 큐나 덱은 반드시 collections.deque를 이용
- 1213 (팰린드롬 만들기)
- 배열 인덱스를 알파벳으로 생각해서 알파벳 개수 저장
- 팰린드롬 수 만들 때, 알파벳 개수 저장한 배열 활용해서 하나씩 넣어주면 따로 정렬할 필요도 없고 간단하게 코딩 가능
- 2108 (통계학)
- Python3) round()는 사사오입 방식을 택하고 있어요. 5를 반올림 하는 경우, 짝수인 쪽을 선택하게 됩니다.
- 입력 받을 때 sum 구해 놓기 or accumulate() 함수 사용
- 입력 다 받고 정렬하면 중앙값, 범위 해결 (따라서 max, min 구할 필요 없음!!)
- 1918 (후위 표기식)
- 연산자의 우선순위를 따로 저장해서 연산을 간편하게 (함수, 맵 활용)
- 후위표기식 결과는 바로 출력해도 괜찮지만, 가능하면 string 등에 저장했다가 한번에 리턴하는걸 권장 (실제 코테에서는 solution 형태인 경우가 많아서)
- 18115 (카드놓기)
- 2504 (괄호의 값)
- 분배법칙 활용해서 구현 시, 괄호값 더한 후 닫는 괄호에서 나누기 해야 함을 주의
- 괄호 쌍이나 값은 미리 map에 넣어주고 관리하면 편함
- 11866 (요세푸스 문제 0)
- Python3) 리스트를 문자열로 합칠 때, .join() 메소드 사용
- Python3) k번 popleft하는 대신 deque.rotate()로 한번에 해결 가능
- 2841 (외계인의 기타연주)
- 스택 empty 체크 하는 거 주의
- 스택에 미리 0을 넣어줘서 empty 체크 안하게도 가능 (프렛 번호가 더 작을 경우 pop을 하는 것이므로 0은 연산에 영향을 안줌)