리트코드를 사용해보자!

코린이서현이·2024년 4월 27일
0

📘 이 글은 "파이썬 알고리즘 인터뷰"를 보고 정리했으며, 스터디를 진행하며 정리하는 내용이다.

🤗 들어가면서

동아리에서 알고리즘 스터디를 새롭게 시작했다.
그동안 공부해보고 싶었던 책을 통해서 짜임새 있게 공부를 하려고 한다.
기존에는 다음에 다시봐야겠다고 생각하고 넘어간적이 많았는데 
이번에는 멘토도 맡게된 김에 모든 질문에 대답할 수 있을 정도로 꼼꼼하게 공부하고 싶다.

문제풀이 사이트: 리트코드

  • 리트코드에서 코드를 제출할 때는 무조건 class Solution: 과 들여쓰기를 한 후 내가 작성한 코드를 써 제출해야한다.

리트코드에서 사용할 수 있는 파이썬 라이브러리

import collections
import heapq
import functools
import  itertools
import re
import sys
import  math
import bisect
from typing import *

🔍 라이브러리 살짝 살펴보기

collections

Counter: 시퀀스의 요소를 세어줍니다.
deque: 양쪽 끝에서 빠르게 추가 및 제거가 가능한 리스트 타입의 컨테이너입니다.
OrderedDict: 삽입된 순서를 기억하는 딕셔너리입니다.

heapq

힙 큐 알고리즘, 즉 우선순위 큐 기능을 제공합니다.

heappush(heap, item): 아이템을 힙에 추가합니다.
heappop(heap): 힙에서 가장 작은 아이템을 제거하고 반환합니다.

functools

고차 함수와 관련된 함수를 위한 모듈입니다. 함수를 인자로 받거나 반환하는 함수들을 다룹니다.

reduce(function, iterable): 누적적으로 함수를 적용해 하나의 값으로 줄입니다.
lru_cache(maxsize=128, typed=False): 함수의 결과를 캐시하여 이후 호출 시 빠르게 결과를 반환할 수 있게 합니다.

itertools

반복 가능한 데이터 스트림을 처리하는데 유용한 여러 함수를 제공합니다.

count(start=0, step=1) 시작 숫자부터 지정된 간격으로 무한히 증가하는 이터레이터를 생성합니다.
combinations(iterable, r) 입력 iterable에서 요소의 r 길이 조합을 생성합니다.

re

정규 표현식을 지원합니다.
search(pattern, string) 문자열에서 패턴과 매치하는 첫 번째 위치를 찾습니다.
match(pattern, string) 문자열의 시작이 패턴과 매치하는지 확인합니다.

sys

파이썬 인터프리터와 관련된 함수와 변수를 제공합니다.

sys.stdin.readline(): 빠르게 입력을 받을 수 있는 함수이다.
argv: 명령줄 인자를 포함하는 리스트입니다.
exit(): 인터프리터를 종료합니다.

math

수학적 함수와 상수를 제공합니다.

sqrt(x) x의 제곱근을 반환합니다.
factorial(x) x의 팩토리얼을 반환합니다.

bisect

정렬된 배열에 대해 이진 검색과 삽입을 수행합니다.

bisect_left(a, x) x를 a에 삽입할 가장 왼쪽 인덱스를 반환합니다.
bisect_right(a, x) x를 a에 삽입할 가장 오른쪽 인덱스를 반환합니다.

typing

타입 힌트를 지원하여 코드의 가독성과 유지보수성을 향상시킵니다.

List[T] 요소 타입이 T인 리스트를 나타냅니다.
Dict[K, V] 키 타입이 K이고 값 타입이 V인 딕셔너리를 나타냅니다.

🤗 마무리하면서

화이팅 아자아자
profile
24년도까지 프로젝트 두개를 마치고 25년에는 개발 팀장을 할 수 있는 실력이 되자!

0개의 댓글