알고리즘/brute force

백준 2798 파이썬(brute force)

Aytekin 2021. 9. 25. 09:18
728x90

brute force란?

암호해독에서 사용되는 방법으로 

무차별적으로 넣을 수 있는 숫자는 다 시도해보면서 해독하는 방법이다.

시간과 조건만 된다면 가장 단순하면서도 언젠가는 무조건 풀 수 있는 방법이다.

 

2798번 내 코드

# 2798 블랙잭

n,m = map(int,input().split())
dack = list(map(int,input().split()))
target = m
for i in range(len(dack)-2):
    for j in range(i+1,len(dack)-1):
        for k in range(j+1,len(dack)):
            sum = dack[i]+dack[j]+dack[k]
            if sum > m:
                continue
            elif target >= m-sum:
                target = m-sum
                ans = sum
print(ans)

이 문제를 처음 봤을때 이렇게 풀려고 했던것은 아닌데

brute force라는 단어에 대해서 알아보니 이렇게 풀라고 만든 문제라는 생각이 들어서 

하나하나 대입하고 결과를 확인하는 방법을 생각해보았다.

 

brute force라 그런지 조건문을 세개나 걸었는데도 시간초과가 뜨지 않았다.

728x90

'알고리즘 > brute force' 카테고리의 다른 글

백준 7568 파이썬(brute force)  (0) 2021.09.25
백준 2231 파이썬(brute force)  (0) 2021.09.25