https://github.com/Dev-Guccin
Guccin
https://github.com/Dev-Guccin
전체 방문자
오늘
어제
  • 분류 전체보기 (172)
    • 알고리즘 (140)
    • 삽질방지 (13)
    • SystemHacking (1)
    • 일상 (4)
    • 개발 (8)
    • 스프링 부트 REST API 개발일지 (5)
    • JPA (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 그래프
  • BFS
  • 이분 탐색
  • DFS
  • python3
  • 이분탐색
  • 그리디
  • 백준
  • 12015
  • 유클리드호제법
  • 큐
  • 유니온 파인드
  • 다이나믹프로그래밍
  • 최단경로
  • 다이나믹 프로그래밍
  • 파이썬
  • 재귀
  • counter
  • 프로그래머스
  • 다익스트라
  • MST
  • 스택
  • LIS
  • Python
  • 최소힙
  • DP
  • 백트래킹
  • 최대공약수
  • 재귀함수
  • heapq

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
https://github.com/Dev-Guccin

Guccin

알고리즘

[python] 코테 대비 알고리즘 모듈 정리

2022. 3. 6. 00:40

정렬

arr = [(1,2),(2,3), (1,1)]
arr.sort() # 일반적으로 처음인자부터 차례로 정렬 nlogn
arr.sort(key=lambda x:x[1],x[0]) # 두번째 인자 우선순위로 정렬
arr.sort(key=lambda x:x[0], reverse=True) # 첫번째 인자 기준으로 반대로 정렬

곱집합, 조합, 순열

from itertools import product
product([1,2,3],['a','b','c','d']) # 하나씩 선택하는 모든 케이스(곱집합)가 만들어진다.

from itertools import combinations
combinations(iterable, r=None) # 조합 구하기

from itertools import permutations
permutations(iterable, r=None) # 순열조합 구하기

큐

from collections import deque
q = deque([])

q.append(1)
q.append(2)
q.pop() # 2를 반환
q.popleft() # 왼쪽에 있는 데이터 1 반환

q.clear() # 모든 데이터 제거

우선순위 큐 (최소힙, 최대힙으로 사용하려면 -붙이고 사용)

import heapq
q = []
heapq.heappush(q, 1)
heapq.heappop(q)

q=[3,5,1,2,5,7]
heapq.heapify(q) # iterable 객체를 최소힙으로 만든다.

이분탐색

import bisect
arr = [1,2,4,6,8,10] # 정렬된 list
bisect.bisect_left(arr,6) # 6이 들어가야하는 Index 3 을 반환

bisect.bisect_rigt(arr,2) # 2가 들어가야하는 Index 2 를 반환

수학관련

import math
math.gcd(12, 48) # 최대 공약수를 반환
lcm = A*B // math.gcd(A,B) # 두수의 곱 나누기 공약수는 최소공배수

math.ceil(2.5) # 올려해서 3
math.floor(2.5) # 내림해서 2

재귀

import sys
sys.setrecursionlimit(10000)
저작자표시 (새창열림)

'알고리즘' 카테고리의 다른 글

[python3] 백준 1939 풀이 ( 중량제한, MST, 유니온 파인드 )  (0) 2022.03.09
[python3] 백준 1339 풀이 ( 단어 수학, 그리디 )  (0) 2022.03.08
[python3] 프로그래머스 외벽 점검 ( 2020 KAKAO BLIND RECRUITMENT, level3, 완전탐색, 순열 )  (0) 2022.02.28
[python3] 백준 4195 (친구 네트워크, 유니온 파인드)  (0) 2022.02.26
[python3] 백준 2470 풀이 ( 투포인터 )  (0) 2022.02.25
    '알고리즘' 카테고리의 다른 글
    • [python3] 백준 1939 풀이 ( 중량제한, MST, 유니온 파인드 )
    • [python3] 백준 1339 풀이 ( 단어 수학, 그리디 )
    • [python3] 프로그래머스 외벽 점검 ( 2020 KAKAO BLIND RECRUITMENT, level3, 완전탐색, 순열 )
    • [python3] 백준 4195 (친구 네트워크, 유니온 파인드)
    https://github.com/Dev-Guccin
    https://github.com/Dev-Guccin
    https://github.com/Dev-Guccin

    티스토리툴바