홈 > 부모님 > 부모님 > 소설,일반 > 컴퓨터,모바일
코딩테스트에 필요한 파이썬 수학 라이브러리 이미지

코딩테스트에 필요한 파이썬 수학 라이브러리
콩콩 컴퍼니 | 부모님 | 2025.10.30
  • 판매가
  • 27,900원
  • 상세정보
  • 18.8x25.7 | 0.547Kg | 288p
  • ISBN
  • 9791124025956
  • 배송비
  • 2만원 이상 구매시 무료배송 (제주 5만원 이상) ?
    배송비 안내
    전집 구매시
    주문하신 상품의 전집이 있는 경우 무료배송입니다.(전집 구매 또는 전집 + 단품 구매 시)
    단품(단행본, DVD, 음반, 완구) 구매시
    2만원 이상 구매시 무료배송이며, 2만원 미만일 경우 2,000원의 배송비가 부과됩니다.(제주도는 5만원이상 무료배송)
    무료배송으로 표기된 상품
    무료배송으로 표기된 상품일 경우 구매금액과 무관하게 무료 배송입니다.(도서, 산간지역 및 제주도는 제외)
  • 출고일
  • 1~2일 안에 출고됩니다. (영업일 기준) ?
    출고일 안내
    출고일 이란
    출고일은 주문하신 상품이 밀크북 물류센터 또는 해당업체에서 포장을 완료하고 고객님의 배송지로 발송하는 날짜이며, 재고의 여유가 충분할 경우 단축될 수 있습니다.
    당일 출고 기준
    재고가 있는 상품에 한하여 평일 오후3시 이전에 결제를 완료하시면 당일에 출고됩니다.
    재고 미보유 상품
    영업일 기준 업체배송상품은 통상 2일, 당사 물류센터에서 발송되는 경우 통상 3일 이내 출고되며, 재고확보가 일찍되면 출고일자가 단축될 수 있습니다.
    배송일시
    택배사 영업일 기준으로 출고일로부터 1~2일 이내 받으실 수 있으며, 도서, 산간, 제주도의 경우 지역에 따라 좀 더 길어질 수 있습니다.
    묶음 배송 상품(부피가 작은 단품류)의 출고일
    상품페이지에 묶음배송으로 표기된 상품은 당사 물류센터에서 출고가 되며, 이 때 출고일이 가장 늦은 상품을 기준으로 함께 출고됩니다.
  • 주문수량
  • ★★★★★
  • 0/5
리뷰 0
리뷰쓰기

구매문의 및 도서상담은 031-944-3966(매장)으로 문의해주세요.
매장전집은 전화 혹은 매장방문만 구입 가능합니다.

  • 출판사 리뷰
  • 작가 소개
  • 목차
  • 회원 리뷰

  출판사 리뷰

"당신의 코딩테스트 풀이 시간을 1/10로 줄여줄 '수학 함수 사전'"

코딩테스트 고수들은 우리와 다른 수학 공식을 외우고 있을까요? 아닙니다. 그들은 단지 "어떤 문제에 어떤 도구(라이브러리)를 써야 하는지" 알 뿐입니다.

이 책은 프로그래머스, 백준 등에서 자주 만나는 실전 문제 29가지 유형을 완벽하게 분석하고, 각 문제를 푸는 데 필요한 파이썬 핵심 라이브러리(itertools, collections, math, heapq, bisect 등)를 1:1로 맵핑해 줍니다.

"N개 중 R개 뽑기" 문제가 보이면 → itertools.combinations

"최단 거리" 문제가 보이면 → heapq (다익스트라)

"개수 세기" 문제가 보이면 → collections.Counter

"정렬된 배열에서 탐색" 문제가 보이면 → bisect_left

마치 문제 유형별로 정리된 '치트키'처럼, 이 책을 통해 당신의 문제 해결 속도는 놀랍게 빨라질 것입니다. 비효율적인 for문과 작별하고, 파이썬다운 효율적인 코드로 합격에 가까워지세요.

  작가 소개

지은이 : 김아인

  목차

프롤로그: 그문제엔 이 함수를 써어야 했다
Part 1: itertools (모든 경우의 수 완전탐색)
Chapter 1. 문제 유형: "N개 중 순서 없이 R개 뽑기" (조합)
1-1. [문제 정의] "서로 다른 N개 중 순서를 고려하지 않고 R개를 뽑는 모든 경우"
1-2. [핵심 함수] itertools.combinations(iterable, r)
1-3. [실전 예제] 프로그래머스: "소수 만들기"
1-4. [풀이 전략] 3개의 숫자를 뽑는 모든 조합을 구해 합을 검사합니다.
Chapter 2. 문제 유형: "N개 중 순서 있게 R개 나열" (순열)
2-1. [문제 정의] "서로 다른 N개 중 R개를 뽑아 순서대로 나열하는 모든 경우"
2-2. [핵심 함수] itertools.permutations(iterable, r)
2-3. [실전 예제] 백준: "N과 M (5)"
2-4. [풀이 전략] N개의 숫자 중 M개를 뽑아 나열하는 모든 순열을 출력합니다.
Chapter 3. 문제 유형: "모든 순서 시도하기" (순열 응용)
3-1. [문제 정의] "주어진 작업들의 순서를 모두 바꿔가며 최적의 해를 찾기"
3-2. [핵심 함수] itertools.permutations(iterable, len(iterable))
3-3. [실전 예제] 프로그래머스: "피로도"
3-4. [풀이 전략] 던전을 탐험하는 모든 순열을 구해, 각 순서마다 최대 탐험 횟수를 갱신합니다.
Chapter 4. 문제 유형: "중복을 허용하여 R개 나열" (중복 순열)
4-1. [문제 정의] "서로 다른 N개 중 중복을 허용하여 R개를 뽑아 나열"
4-2. [핵심 함수] itertools.product(iterable, repeat=r)
4-3. [실전 예제] 백준: "N과 M (3)"
4-4. [풀이 전략] 1~N까지의 수를 repeat=M으로 중복 순열을 만듭니다.
Chapter 5. 문제 유형: "중복을 허용하여 R개 뽑기" (중복 조합)
5-1. [문제 정의] "서로 다른 N개 중 중복을 허용하여 순서 없이 R개를 뽑기"
5-2. [핵심 함수] itertools.combinations_with_replacement(iterable, r)
5-3. [실전 예제] 백준: "N과 M (4)" (비내림차순 수열)
5-4. [풀이 전략] 1~N까지의 수를 중복 조합으로 M개 뽑습니다.

Part 2: collections (자료구조 기반 계산)
Chapter 6. 문제 유형: "요소의 개수 세기" (해시 카운팅)
6-1. [문제 정의] "리스트나 문자열에 각 요소가 몇 개씩 있는지 빠르게 세기"
6-2. [핵심 함수] collections.Counter(iterable)
6-3. [실전 예제] 프로그래머스: "완주하지 못한 선수"
6-4. [풀이 전략] Counter(참가자) - Counter(완주자)로 차집합을 구합니다.
Chapter 7. 문제 유형: "애너그램 (문자열 구성 비교)"
7-1. [문제 정의] "두 문자열이 철자의 순서만 다르고 구성이 같은지 판별"
7-2. [핵심 함수] collections.Counter(str1) == collections.Counter(str2)
7-3. [실전 예제] 백준: "애너그램"
7-4. [풀이 전략] 두 문자열의 Counter 객체가 완전히 동일한지 비교합니다.
Chapter 8. 문제 유형: "최빈값 (가장 많이 나온 값)"
8-1. [문제 정의] "자료에서 가장 빈번하게 등장한 요소를 찾기"
8-2. [핵심 함수] Counter.most_common(k)
8-3. [실전 예제] 백준: "베스트셀러"
8-4. [풀이 전략] most_common(1)로 가장 빈도가 높은 1개를 찾습니다.
Chapter 9. 문제 유형: "최단 거리 탐색 (BFS)"
9-1. [문제 정의] "가중치 없는 그래프(맵)에서 최단 거리를 찾기"
9-2. [핵심 자료구조] collections.deque() (큐로 활용)
9-3. [실전 예제] 프로그래머스: "게임 맵 최단거리"
9-4. [풀이 전략] deque를 큐로 사용하여 BFS를 수행합니다. (Tip: list.pop(0)의 비효율성)
Chapter 10. 문제 유형: "슬라이딩 윈도우"
10-1. [문제 정의] "크기가 K인 창문을 이동시키며 범위 내의 값을 처리"
10-2. [핵심 자료구조] collections.deque() (양쪽에서 삽입/삭제가 빠름)
10-3. [실전 예제] 백준: "최솟값 찾기" (11003번)
10-4. [풀이 전략] deque를 사용해 범위 내의 최솟값 후보를 효율적으로 관리합니다.
Chapter 11. 문제 유형: "스택 (LIFO) 자료구조"
11-1. [문제 정의] "가장 나중에 들어온 데이터를 가장 먼저 처리 (LIFO)"
11-2. [핵심 자료구조] list (.append(), .pop()) 또는 collections.deque()
11-3. [실전 예제] 프로그래머스: "올바른 괄호"
11-4. [풀이 전략] 여는 괄호는 스택에 넣고, 닫는 괄호는 스택에서 빼며 짝을 맞춥니다.

Part 3: math (수치 연산 및 계산)
Chapter 12. 문제 유형: "최대공약수 / 기약분수"
12-1. [문제 정의] "두 수의 공통된 약수 중 가장 큰 값 / 분수를 약분하기"
12-2. [핵심 함수] math.gcd(a, b)
12-3. [실전 예제] 프로그래머스: "분수 덧셈"
12-4. [풀이 전략] 분모/분자를 gcd로 나누어 기약분수를 만듭니다.
Chapter 13. 문제 유형: "최소공배수 (공통 주기)"
13-1. [문제 정의] "두 수의 공통된 배수 중 가장 작은 값 (예: 버스 배차 간격)"
13-2. [핵심 함수] math.lcm(a, b) (3.9+) / (a * b) // math.gcd(a, b) (3.8 이하)
13-3. [실전 예제] 백준: "최소공배수" (1934번)
13-4. [풀이 전략] 코테 환경에 맞춰 lcm 함수를 사용하거나 직접 구현합니다.
Chapter 14. 문제 유형: "소수 판별 (시간 효율화)"
14-1. [문제 정의] "어떤 수

  회원리뷰

리뷰쓰기