티스토리 뷰

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


1. 문제 내용

 

 

2. 접근 방식

7개의 정수밖에 없기 때문에 7개의 정수 중에서 3개를 골랐을 때 경우의 수가 35밖에 되지 않는다. (7C3)

따라서 모든 가능한 3개의 정수를 더하였을 때의 값을 집합에 담고 (중복 제거 목적), 이후에 리스트로 변환한 후 오름차순 정렬한다. 그럼 5번째로 큰 수는 뒤에서 5번째에 있는 원소 값일 테다.

 

 

3. 정답 코드

T = int(input())
for test_case in range(1, T + 1):
    data = list(map(int, input().split()))
    combination = set()
    
    for i in range(len(data) - 2) :
        for j in range( i+1, len(data)-1 ) :
            for k in range( j+1, len(data)) :
                combination.add( data[i] + data[j] + data[k] )
    
    combination = sorted(list(combination))
    print(f'#{test_case} {combination[-5]}')
728x90