문제요약
나의 코드 및 설명
- 같은 카드가 뽑히지 않게 범위를 각각 다르게 하여 for문을 작성하였다.
- 변수 fin에 큰 값을 저장해두고, 다음 반복 시 fin 보다 큰 값이 들어올 경우 변수 fin에 저장한다.
n, m = map(int, input().split())
num_list = list(map(int, input().split()))
num_list.sort()
fin = 0
for i in range(len(num_list)):
for j in range(i+1, len(num_list)):
for k in range(j+1,len(num_list)):
if num_list[i] + num_list[j] + num_list[k] > m:
continue
elif num_list[i] + num_list[j] + num_list[k] <= m:
fin = max(fin, num_list[i] + num_list[j] + num_list[k])
print(fin)
피드백
3중 for문을 사용해서 시간초과가 뜨지 않을까 걱정했지만, 카드의 개수 N 의 범위가 최대 100까지여서 에러가 뜨지 않았다.
'Baekjoon > IM Level' 카테고리의 다른 글
[백준] 3052 나머지 (브론즈2) (0) | 2023.03.07 |
---|---|
[백준] 2941 크로아티아 알파벳 (실버5) / replace() (0) | 2023.03.07 |
[백준] 2309 일곱 난쟁이 (브론즈1) / pop(), remove(), clear(), del 정리 (0) | 2023.03.03 |
[백준] 1592 영식이와 친구들 (브론즈2) (0) | 2023.03.03 |
[백준] 숫자의 각 자릿수를 요소로 갖는 리스트로 변환 (0) | 2023.03.01 |