문제 바로가기
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
나의 코드 및 설명
- 백트래킹을 통해 문제를 풀이하였다.
- 종료 조건에 도달하면, 함수의 temp_list 변수에 저장된 요소들의 합을 메인 함수의 result 리스트에 추가하고 리턴한다.
- set()을 통해 중복을 제거하고 sort()를 통해 정렬함으로써 5번째로 큰 값을 찾아 출력했다.
def dfs(count, start, temp_list):
if count == 3:
result.append(sum(temp_list))
return
for i in range(start, 7):
dfs(count+1, i+1, temp_list + [num_list[i]])
t = int(input())
for test_case in range(1,t+1):
num_list = list(map(int, input().split()))
result = []
dfs(0,0,[])
result.sort(reverse=True)
ans_list = list(set(result))
print("#{} {}".format(test_case, ans_list[4]))
'SWEA (SW Expert Academy) > D3' 카테고리의 다른 글
[SWEA/D3] 6808 규영이와 인영이의 카드게임 / 백트래킹 (0) | 2023.05.08 |
---|---|
[SWEA/D3] 6190 정곤이의 단조 증가하는 수 (1) | 2023.05.07 |
[SWEA/D3] 3499 퍼펙트 셔플 / stack (0) | 2023.05.07 |
[SWEA/D3] 1234 비밀번호 / stack (0) | 2023.05.07 |
[SWEA/D3] 1228 암호문1 (0) | 2023.05.07 |