ebson

파이썬 완전탐색 예제문제 본문

ALGORITHM STUDY WITH PYTHON/Theories & basics

파이썬 완전탐색 예제문제

ebson 2023. 2. 9. 06:06

아래 코드는 Udemy 알고리즘 코딩 테스트 입문부터 합격까지 (Feat. 컴공선배 알고리즘캠프) 강의 섹션 4: PART 2. 알고리즘 유형 분석 - 완전탐색, 15강 ~ 19강 내용을 요약한 코드입니다.

 

# 순열

from itertools import permutations

v = [0, 1, 2, 3]

for i in permutations(v, 4):
    print(i)

# 조합

from itertools import combinations

v = [0, 1, 2, 3]

for i in combinations(v, 2):
    print(i)

# 18. Capter 2. 완전 탐색 - 예제문제 (3) -1
# boj.kr/2309 일곱 난쟁이

from itertools import combinations

heights = [int(input()) for _ in range(9)]
for combi in combinations(heights, 7):
    if sum(combi) == 100:
        for height in sorted(combi):
            print(height)
        break

# 18. Capter 2. 완전 탐색 - 예제문제 (3) -2

heights = [int(input()) for _ in range(9)]
heights.sort()
tot = sum(heights)

def f():
    for i in range(8):
        for j in range(i+1, 9):
            if tot - heights[i] - heights[j] == 100:
            	for k in range(9):
                	if i != k and j != k:
       				print(heights[k])
                return

f()

 

 

Comments