반응형
알고리즘 분류
- 브루트포스 알고리즘
SOLUTION
import sys
import itertools # combinations 함수를 쓰기 위해 itertools 모듈 import
N, M = map(int, sys.stdin.readline().split())
# combinations 함수 이용해 각각의 다른 조합 구함
card_list = list(itertools.combinations(map(int, sys.stdin.readline().split()), 3))
tmp = []
total = 0
for i in range(len(card_list)):
total = sum(card_list[i])
if total <= M:
tmp.append(total)
print(max(tmp))
※ itertools.combinations( 반복 가능 , r )
- 조합이란 서로 다른 n개 중에서 r개 (n≥r) 취하여 조를 만들 때, 이 하나하나의 조를 n개 중에서 r개 취한 것 입니다.
- 입력 iterable 에서 요소의 r 길이 부분 시퀀스를 반환 합니다.
- 조합 튜플은 iterable 입력의 순서에 따라 사전순으로 방출됩니다.
'코딩테스트 대비 > 단계별 코딩 테스트 준비(27일 과정)' 카테고리의 다른 글
[정렬/Python] 10814번: 나이순 정렬 - 효과는 굉장했다! (0) | 2022.02.11 |
---|---|
[브루트포스/Python] 1436번: 영화감독 숌 - 효과는 굉장했다! (0) | 2022.02.11 |
[재귀/Python] 11729번: 하노이 탑 이동 순서 - 효과는 굉장했다! (0) | 2022.02.11 |
[재귀/Python] 10870번: 피보나치 수 5 - 효과는 굉장했다! (0) | 2022.02.11 |
[math3/Python] 1002번: 터렛 - 효과는 굉장했다! (0) | 2022.02.11 |