https://www.youtube.com/watch?v=W1SO2e5IaSo&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=11

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-0

특히 코딩테스트에서 사용빈도가 높은 표준 라이브러리 알아볼것임

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-2

내장 함수는 별도로 import 구문 없이 사용할수 있는 함수를 제공하는 라이브러리 ex print()

iterools : 모든 경우에 수를 고려해야 하는 경우에서 효과적으로 사용할수 있음 특히 순열과 조합 라이브러리는 완전 탐색 문제 유형에서 소스코드를 매우 간결하게 작성하도록 해줌

heapq 에서는 일반 적으로 우선순위 큐 기능을 구현하기 위해 사용되는데요 대표적으로 다엑스트라와 같은 최단경로 알고리즘에서 많이 활용됨

bisect : 기본적인 형태의 이진탐색 기능이 필요할때 이라이브러리를 효과적으로 사용할수 있음

이 각 라이브러리를 오늘 한번 활용해보면서 배워보겠음

heapq, bisect 라이브러리는 각각 해당 라이브러리가 효과적으로 사용될수 있는 강의 파트에서 다루도록 하겠음

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-12

sum() 함수는 다수의 데이터를 포함하는 리스트나 튜플 등이 들어왔을때 그 원소들의 합을 반환합니다. 다시말해서 현재 예제처럼 12345가 리스트에 원소로 들어가 있다면

15가 반환됩니다 min() 은 가장 작은값 max()는 가장 큰값을 얻고자 할때 사용할수 있습니다. 보시는거처럼 인자로 여러 값을 넣어줄수 있으며 가장 큰 인자, 작은 인자를 반환해줌

eval 함수는 흔히 사람에 입장에서 이렇게 수식으로 표현된 하나의 식이 있을때 이제

이것을 계산한 결과를 실제 수 형태로 반환해주는 함수입니다.

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-18
11강 파이썬 문법: 자주 사용되는 표준 라이브러리-20

각 원소를 정렬한 결과를 반환합니다 이제 이 경우에는 오름차순으로 정렬된 결과가

나오고

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-23

또한 추가적으로 이 솔티드에는 키속성으로 정렬기준을 명시해 줄 수 있는데요 이 정렬기준은 일반적으로 람다함수 형태로 간단히 넣어주는 경우가 많으며 현재 이렇게 각 원소에서 이 두번째 원소를 기준으로 해서 정열을 실행하기 때문에 이렇게

('홍길동', 35) 라는 하나의 튜플이 있다고 하면 이 두번째 원소인 이 35 수를 기준으로 해서 정렬을 수행하는 걸 확인 할 수 있습니다 이때 내림차 순으로 정렬이 수행하기

때문에 수가 큰 값 순서대로 정렬이 수행된걸 확인 할 수 있습니다.

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-29

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-33

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-35

짐작을해서

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-37

이렇게 순열의 수를 구해 보았을때 값이 천만 1억 단위를 넘어가는 경우 완전탐색을 이용했을때 시간 초과 판정을 받을 확률이 높기 때문에 실제로 전체 경우의 수를 고려할때 이러한 순열의 수와 조합의 수를 많이 계산하게 됩니다 자 먼저

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-41

자 먼저 순열을 구하는 라이브러리 부터 확인해 보겠습니다.

itertools 정의되어 있는 permutations 라이브러리를 활용하게 되면 모든 순열을 구할수 있는데요

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-46
11강 파이썬 문법: 자주 사용되는 표준 라이브러리-47

이어서 모든 조합을 구하고자 할때는 combinations 라이브러리를 사용할 수 있으며

마찬가지로 뽑고자 하는 데이터가 들어가 있는 리스트를 첫번째 인자로 넣어주고

두번째 인자로는 몇개를 뽑을 것인지를 넣어주는 것을 확인 할수 있습니다

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-54

이어서 중복 순열과 중복 조합을 구할때도 다음과 같이 itertools에 정의되어 있는 라이브러리를 사용할 수 있습니다. 중복 순열을 구하고자고 할때는 product 라이브러리를 활용 할수 있으며 중복 조합을 구하고자 할때는 combinations_with_replacement 를 이용할 수 있습니다.

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-57

매우 유용한 라이브러리 또한 제공함 흔히 파이썬으로 워드 클라우드와 같은 프로그램을 만들때 굉장히 많이 사용되는 라이브러리중 하나인데요 각 원소가 몇번씩 등장 했는지를 새고자 할때 효과적으로 사용할수 있습니다

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-60
11강 파이썬 문법: 자주 사용되는 표준 라이브러리-61
11강 파이썬 문법: 자주 사용되는 표준 라이브러리-62

또한 이 파이썬에서 제공하는 math 라이브러리에는 굉장히많은 수학적 기능이 포함되어 있는데요 최대공약수와 최소공배수를 구해야 할때 효과적으로 사용할 수 있습니다

gcd() 는 greatest common divisor 최대공약수의 약자임

그래서 21과 14에 최대 공약수를 구하고자 한다면 간단히 math 라이브러리에 정의 되어 있는 gdc함수를 호출하면 되고

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-69

만약 최소 공배수를 구하고자 한다면 최소 공배수 공식에 따라서

11강 파이썬 문법: 자주 사용되는 표준 라이브러리-72

a 곱하기 b 를 최대공약수로 나눈 결과값을 리턴 하도록 해서 간단히 최소공배수 또한 구할수 있습니다.

최대 공약수란 : 두 수가 주어졌을때 공통된 약수중에서 가장 큰 값을 의미

최소 공배수란 : 공통된 배수 중에서 가장 작은 값을 의미합니다

그래서 차례대로 7 과 42가 출력된걸 확인 할수 있습니다.

이밖에도 math라이브러리는 팩토리얼 과 재곱끈 과 같은 다양한 함수부터 원주율과 같은 상수 까지 포함하고 있으니까 여러분들이 수학적 기능이 필요할때 마다 요긴하게 호출해서 사용할수 있습니다

이상으로 이번시간에는 파이썬에서 코딩테스트를 위해 유용하게 활용할 수 있는 표준 라이브러리에 대해서 알아보는 시간을 가져보았습니다.

Last Updated:

Summarize & share videos seamlessly

Loading...