반응형
문제
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
🐍파이썬
T = int(input())
for test_case in range(1, T+1):
arr = list(map(int, input().split()))
ans = 0
ans_set = set()
for i in range(7):
for j in range(7):
for k in range(7):
if i != j and j != k and k != i:
ans_set.add(arr[i] + arr[j] + arr[k])
print("#{} {}".format(test_case, sorted(ans_set)[-5]))
완전탐색으로 arr을 3번 돌면서 이미 뽑은 수를 제외하고 3개의 수를 뽑았다.
세 수의 총합을 set 자료구조에 넣어 중복을 제거한 뒤 정렬하고 뒤에서 5번째에 있는 수(=5번째로 큰 수)를 출력하였다.
다른 풀이 방법
from itertools import combinations
T = int(input())
for i in range(T):
numbers = list(set(map(int, input().split(' '))))
comb = combinations(numbers, 3)
comb_sum = [sum(cmb) for cmb in comb]
comb_sum = list(set(comb_sum))
comb_sort = sorted(comb_sum, reverse = True)
print("#{} {}".format(i+1, comb_sort[4]))
itertools의 combinations를 이용해 3개의 수를 뽑은 뒤 더하는 방식의 풀이
(풀이참고: https://tinyurl.com/2m9x4r2z)
반응형
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA|파이썬] 1873. 상호의 배틀필드 (D3) (1) | 2023.05.19 |
---|---|
[SWEA|파이썬] 13428. 숫자 조작 (D3) (0) | 2023.05.18 |
[SWEA|파이썬] 3131. 100만 이하의 모든 소수 (D3)-에라토스테네스의 체 (1) | 2023.05.16 |
[SWEA|파이썬] 11315. 오목 판정 (D3) (0) | 2023.05.16 |
[SWEA|파이썬] 1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 (D3) (0) | 2023.05.15 |
[SWEA|파이썬] 1221. [S/W 문제해결 기본] 5일차 - GNS(D3) (0) | 2023.05.14 |