Notice
Recent Posts
Recent Comments
Link
마이라이프해피라이프
[알고리즘 스터디] 백준 2798번 Python 풀이 - 블랙잭 본문
# 문제
https://www.acmicpc.net/problem/2798
# 코드 풀이
def solve():
n, m = map(int, input().split())
input_list = []
sum_list = []
input_list = list(map(int, input().split()))
for i in range(2, n):
for j in range(1, i):
for k in range(0, j):
sum = input_list[i] + input_list[j] + input_list[k]
if sum == m:
return m
elif sum < m:
sum_list.append(sum)
sum_list.sort()
return sum_list[-1]
result = solve()
print(result)
# 설명
for문만 적절히 쓸 수 있으면 풀 수 있는 문제. 해당되는 경우를 찾기 위해 모든 값을 계산함.
# 새롭게 알게된 개념 - 브루트 포스
→ 무식한 힘. 무식하게 모든 경우의 수를 탐색하면서 요구조건에 충족되는 결과만을 가져옴.
→ 완전 탐색 알고리즘. 해가 존재할 것으로 예상되는 모든 영역을 전체 탐색함.
- 순차 탐색
- 깊이 우선 탐색
- 너비 우선 탐색
브루트 포스는 모든 경우의 수를 탐색하는것이 중요
'컴퓨터 > Python' 카테고리의 다른 글
[알고리즘 스터디] 백준 2164번 Python 풀이 - 카드2 (연산 복잡도, deque, 식 세우기) (0) | 2022.06.03 |
---|---|
[알고리즘 스터디] 백준 1259번 Python 풀이 - 팰린드롬수 (0) | 2022.05.02 |
[알고리즘 스터디] 백준 10773번 Python 풀이 - list 자료형 다루기 (0) | 2022.04.06 |
[알고리즘 스터디] 백준 9012번 Python 풀이 - list() (0) | 2022.04.06 |
[python] List 초기화 방법 (0) | 2021.10.15 |