코딩 테스트 정리

황규빈·2021년 4월 25일

* 자료형

- String

  1. 특정 문자열로 시작하는지 확인 - String.startswith("~~")

- 리스트

  1. 리스트 확장 - list.extend(list2)
  2. 리스트에 포함된 특정 요소 개수 세기 - list.count(x)
  3. 초기값 설정하기 - [ 초기값 for _ in range(n)]
  4. 리스트 총합 - sum(list)

- 딕셔너리

  1. 키가 있는지 확인 - in

- Queue

Priority Queue

  • 클래스 Import
    from queue import PriorityQueue
  • 우선순위 큐 만들기
    myQueue = PriorityQueue()
  • 우선순위 큐에 요소 추가
    myQueue.put(element)
  • 우선순위 큐에서 요소 삭제
    myQueue.get()

deque

  • 개념
    1. 스택처럼 사용할 수 있고, 큐처럼도 사용할 수 있다
    2. 양방향 큐로써, 앞뒤 양쪽 방향에서 요소를 추가하거나 제거 가능
  • 메서드
    1. deque.append(item): item을 오른쪽 끝에 삽입
    2. deque.appendleft(item): item을 왼쪽 끝에 삽입
    3. deque.pop(): 오른쪽 끝 요소를 가져옴(삭제)
    4. deque.popleft(): 왼쪽 끝 요소를 가져옴(삭제)
    5. deque.extend(array): 배열을 큐 오른쪽에 추가(확장)
    6. deque.extendleft(array): 배열을 큐 왼쪽에 추가(확장)
    7. deque.remove(item): item을 찾아 삭제
    8. deque.rotate(num): num만큼 회전한다(양수면 오른쪽, 음수면 왼쪽)

- Heap

  • 생성
import heapq
heap = []
  • 메서드
    1. 원소 추가 : heapq.heappush(heap, element)
    1. 원소 삭제 : heapq.heappop(heap)
    2. 최소값 얻기 : heap[0]
    3. 리스트를 힙으로 변환 : heapq.heapify(arr)
    4. 최대힙 : heapq.heappush(heap, (-element, element))

* re

-

* Lambda

개념

  • 일종의 일회용 함수(재사용할 메서드가 아닌 경우)
  • 다양한 함수들과 결합하여 사용도가 높다

사용 예

	a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
	list(map(labmda x:x*0 if x % 2 == 0 else x, a))
	# 짝수인 요소들은 0으로, 홀수인 요소는 그대로 출력
	a = [1, 2, 3, 4, 5 ]
	b = [6, 7, 8, 9, 10]
    list(map(labmda x, y:x * y, a, b))
	# 두개의 리스트의 각 요소들간 곱으로 새로운 리스트 생성

* itertools

- product

- permutations

- combination

* enumerate

  1. 순서가 있는 자료형을 받아 인덱스 값에 포함(순서를 넣음) - for idx, value in enumerate(list)

* functools

- reduce

  1. 여러 개의 데이터를 대상으로 누적 집계 - reduce(집계 함수, 순회 데이터, 초기값)
profile
어제보다 더 나음을 위해.

0개의 댓글