브루트 포스 알고리즘(brute force)
: 완전 탐색이라고 하며, brute : 무식한 , force : 힘
무식하게 모든 경우를 다 탐색하는 알고리즘 이다.
따라서, 원하는 결과를 구하기 위해 모든 영역을 다 탐색하는 방법이다.
1. 블랙잭
www.acmicpc.net/problem/2798
#블랙잭
n, m = map(int, input().split())
card = list(map(int, input().split()))
result = 0
for i in range(n):
for j in range(i+1, n):
for k in range(j+1, n):
if card[i] + card[j] + card[k] > m:
continue
else:
result = max(result, card[i]+card[j]+card[k])
print(result)
브루트 포스 알고리즘에 해당하는 문제이다.
for문을 3개로 하여 카드를 3장을 뽑는 경우를 모두 탐색하게 한다.
그 후, max함수를 이용하여, result에 들어간 값과 새로 합한 값 중 큰 값을 구하여 가장 큰 값을 구하도록 한다.
2. ACM호텔
www.acmicpc.net/problem/10250
#ACM호텔
t = int(input())
for i in range(t):
a = 0
h, w, n = map(int, input().split())
for k in range(w):
for m in range(h):
a += 1
if a == n:
print((m+1)*100+(k+1))
반응형