Baekjoon/IM Level

[백준] 2798 블랙잭 (브론즈2)

hellosonic 2023. 3. 7. 14:08

문제요약

나의 코드 및 설명

  • 같은 카드가 뽑히지 않게 범위를 각각 다르게 하여 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까지여서 에러가 뜨지 않았다.