728x90
⚠️ 내맘대로 작성한 코드이기 때문에 비합리적 진행과 근거없는 추론이 있을 수 있습니다!⚠️
https://www.acmicpc.net/problem/2798
Code
import sys
input = sys.stdin.readline
num, target = map(int, input().split())
arr = list(map(int, input().split()))
i, j, k, sum, result = 0,0,0,0,0
for i in range(num-2):
fir = arr[i]
for j in range(i,num-2):
sec = arr[j + 1]
for k in range(j,num - 2):
thr = arr[k + 2]
sum = fir + sec + thr
if ((sum > result) and (sum <= target)):
result = sum
print(result)
Code 필수 요소
1. 완전탐색(브루트포스 알고리즘)
2. 조건 설정
이것만 생각해내면 절반은 끝났다.
// 완전탐색
말 그대로 전부다 탐색하는 방법이다. 그래서 for문을 삼중으로 중첩하여 하나하나 모두 탐색하도록 했다
// 조건설정
target에 가장 가까운 값을 구하기 위해서 이전에 가장 가까운값과 비교하여 크기가 더 크고, target보다 작으면 기록시켰다.
이건... 딱히 코멘트 할게 없다. 완전탐색이란 이런거다? 알아보는 문제.
-꿑-
728x90