파이썬은 다양한 내장 함수와 라이브러리를 제공하여 개발자가 손쉽게 코드를 작성할 수 있도록 돕습니다. 본 포스팅에서는 코딩 테스트 또는 일반적인 프로그래밍에서 유용하게 사용될 수 있는 함수 및 라이브러리들에 대해 자세히 알아보겠습니다.

1. 파이썬 내장 함수
파이썬 내장 함수는 특별한 라이브러리를 임포트하지 않고도 바로 사용할 수 있는 함수들로, 기본적인 데이터 처리에 매우 유용합니다. 다음은 자주 사용되는 내장 함수들입니다.
1.1. 합계 및 최소/최대 값
주어진 숫자들의 합을 구하거나 최소 및 최대 값을 손쉽게 찾을 수 있습니다.
- sum(): 리스트나 튜플 등 반복 가능한 객체의 모든 원소의 합계를 반환합니다.
- min(): 두 개 이상의 값 중 가장 작은 값을 반환합니다.
- max(): 두 개 이상의 값 중 가장 큰 값을 반환합니다.
예를 들어:
result_sum = sum([1, 2, 3, 4, 5]) print(result_sum) # 결과: 15 result_min = min(7, 3, 5, 2) print(result_min) # 결과: 2 result_max = max(7, 3, 5, 2) print(result_max) # 결과: 7
1.2. 정렬 및 평가
리스트의 정렬 및 수식 평가를 위한 함수도 존재합니다.
- sorted(): 반복 가능한 객체를 정렬한 결과를 새로운 리스트로 반환합니다.
- eval(): 문자열 형식의 수식을 계산하여 결과를 반환합니다.
다음은 사용 예시입니다:
sorted_result = sorted([9, 1, 8, 5, 4]) print(sorted_result) # 결과: [1, 4, 5, 8, 9] evaluated_result = eval("(3 + 5) * 7") print(evaluated_result) # 결과: 56
2. itertools 라이브러리
itertools는 반복 가능한 객체에서 다양한 조합 및 순열을 쉽게 생성할 수 있게 돕는 라이브러리입니다.
2.1. 순열과 조합
- permutations(): 주어진 데이터에서 r개의 원소를 뽑아 순서를 고려하여 나열하는 모든 경우를 생성합니다.
- combinations(): 주어진 데이터에서 r개의 원소를 뽑아 순서를 고려하지 않고 나열합니다.
사용 예시는 다음과 같습니다:
from itertools import permutations, combinations data = ['A', 'B', 'C'] permutations_result = list(permutations(data, 2)) # 2개의 순열 print(permutations_result) # 결과: [('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')] combinations_result = list(combinations(data, 2)) # 2개의 조합 print(combinations_result) # 결과: [('A', 'B'), ('A', 'C'), ('B', 'C')]
3. heapq 라이브러리
heapq는 효율적인 우선순위 큐 기능을 제공하는 라이브러리입니다. 힙(Heap) 자료구조를 활용하여 다양한 알고리즘에서 지원된다.
3.1. 힙 정렬
힙 정렬을 구현하는 방법은 다음과 같습니다:
import heapq def heapsort(iterable): h = [] result = [] for value in iterable: heapq.heappush(h, value) for i in range(len(h)): result.append(heapq.heappop(h)) return result sorted_result = heapsort([1, 3, 5, 7, 9, 2, 4, 6, 8, 0]) print(sorted_result) # 결과: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
4. bisect 라이브러리
이진 탐색을 통해 정렬된 리스트에 데이터 삽입 및 검색을 용이하게 하는 라이브러리입니다. bisect 라이브러리를 사용하면 효율적인 데이터 관리를 할 수 있습니다.
5. collections 라이브러리
collections는 다양한 자료구조를 제공하여 코딩에서 유용하게 사용됩니다.
- deque: 양쪽에서 추가 및 제거가 가능한 데이터 구조로, 스택과 큐의 기능을 모두 제공합니다.
- Counter: 원소의 개수를 세는 데 탁월한 성능을 보이는 자료구조입니다.
6. math 라이브러리
math는 다양한 수학적 기능을 제공하여 복잡한 수식을 간편하게 처리할 수 있도록 돕습니다.
- factorial(): 입력값의 팩토리얼을 계산합니다.
- gcd(): 최대 공약수를 계산합니다.
예시:
from math import factorial, gcd fact_result = factorial(5) print(fact_result) # 결과: 120 gcd_result = gcd(48, 18) print(gcd_result) # 결과: 6

마무리
이처럼 파이썬은 다양한 함수와 라이브러리를 통해 프로그래머들이 더 효율적으로 작업할 수 있도록 지원합니다. 내장 함수, itertools, heapq, bisect, collections, math 라이브러리를 잘 활용하여 효율적인 코드를 작성해 보시기 바랍니다. 이러한 도구들은 코딩 테스트는 물론, 실제 프로젝트에서도 큰 도움이 될 것입니다.
자주 물으시는 질문
파이썬 내장 함수란 무엇인가요?
내장 함수는 파이썬에서 별도의 라이브러리를 불러오지 않고도 사용할 수 있는 기본적인 함수들입니다. 데이터 처리 및 계산 시 매우 유용합니다.
itertools 라이브러리는 어떤 기능을 제공하나요?
itertools는 반복 가능한 객체의 조합과 순열을 쉽게 생성할 수 있도록 도와주는 유용한 라이브러리입니다. 다양한 경우의 수를 간편하게 다룰 수 있습니다.
heapq 라이브러리의 주된 용도는 무엇인가요?
heapq는 효율적인 우선순위 큐 기능을 제공하며, 데이터를 정렬하고 관리하는 데 매우 유용한 라이브러리입니다. 힙 자료구조를 활용하여 성능을 개선합니다.
math 라이브러리에서는 어떤 수학적 기능을 사용할 수 있나요?
math 라이브러리는 다양한 수학적인 연산을 지원합니다. 예를 들어, 팩토리얼 및 최대 공약수를 쉽게 계산할 수 있는 함수들이 포함되어 있습니다.