0Pricing
Coding Interview Prep · 강의

itertools로 열거하기

곱집합, 조합과 순열을 다룹니다

itertools로 열거하기은(는) CoddyKit의 무료 Coding Interview Prep 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Coding Interview Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Coding Interview Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

반복문은 itertools에 맡기기

Python의 itertools는 조합과 순서를 대신 생성해 주므로 반복문 코드를 덜 작성하고 실수도 줄일 수 있습니다. 🙂

먼저 불러오기

모든 기능이 하나의 모듈에 있으므로 먼저 import itertools로 불러옵니다. 그러면 product, permutations, combinations를 직접 호출할 수 있습니다.

import itertools

중첩 반복문에는 product

같은 선택지를 대상으로 깊게 중첩된 반복문을 대신하려면 product를 사용하십시오. 주어진 범위에서 선택한 값들의 모든 튜플을 생성합니다.

for combo in itertools.product(range(3), repeat=2):
    print(combo)

순서 배열에는 permutations

순서가 중요할 때는 permutations가 항목을 배열하는 모든 방법을 나열합니다. 작은 외판원 문제 유형의 완전 탐색에 적합합니다.

for p in itertools.permutations([1, 2, 3]):
    print(p)

선택에는 combinations

순서가 중요하지 않을 때는 combinations가 크기 r인 모든 그룹을 선택합니다. 검사할 항목의 부분집합을 고를 때 유용합니다.

for c in itertools.combinations([1, 2, 3, 4], 2):
    print(c)

permutations와 combinations 비교

핵심 차이는 순서입니다. permutations에서는 (1,2)와 (2,1)을 서로 다른 것으로 취급하지만, combinations에서는 같은 선택으로 셉니다.

증가 폭에 주의하기

순열의 개수는 n!에 따라 증가하며 매우 빠르게 폭발합니다. n이 11만 되어도 배열 수가 이미 4천만 개를 넘으므로 n을 작게 유지해야 합니다.

필요할 때만 생성합니다

이 함수들은 생성기입니다. 거대한 목록을 만들지 않고 한 번에 하나씩 항목을 생성하므로 반복하는 동안 메모리를 적게 사용합니다.

검사와 함께 사용하기

후보를 생성한 다음 검사를 통과한 후보만 남깁니다. 이 패턴을 사용하면 어려운 탐색도 짧고 읽기 쉬운 반복문으로 바꿀 수 있습니다.

best = min(itertools.permutations(cities), key=tour_length)

중복을 허용하는 조합

반복해서 항목을 선택해야 하나요? combinations_with_replacement를 사용하면 하나의 그룹에서 같은 요소를 두 번 이상 선택할 수 있습니다.

알맞은 도구 선택하기

두 가지를 물어보십시오. 순서가 중요한가요? 항목을 반복해서 사용할 수 있나요? 이 답을 바탕으로 올바른 itertools 함수를 바로 선택할 수 있습니다.

빠른 확인

순서와 관계없이 6개 항목 중 3개를 선택하는 모든 방법을 열거해야 합니다.

복습

product, permutations, combinations를 사용하면 깔끔하게 열거할 수 있습니다. 순서가 중요한지, 항목을 반복하는지 물어보며 도구를 선택하고 증가 폭도 확인하십시오. 🚀

자주 묻는 질문

“itertools로 열거하기” 강의는 무료인가요?

네 — “itertools로 열거하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Coding Interview Prep 강의 전체를 잠금 해제할 수 있습니다. Coding Interview Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

“itertools로 열거하기”에서 뭘 배우나요?

곱집합, 조합과 순열을 다룹니다 브라우저에서 직접 실행하는 실습 코드로 Coding Interview Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Coding Interview Prep을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Coding Interview Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“itertools로 열거하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Coding Interview Prep 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Coding Interview Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 완전 탐색도 유효한 전략입니다
  2. itertools로 열거하기
  3. 비트마스크 부분집합 열거
  4. 탐색 공간을 영리하게 줄이기
← Coding Interview Prep(으)로 돌아가기