https://www.acmicpc.net/problem/2309
2309번: 일곱 난쟁이
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
www.acmicpc.net
💡 브루트포스
완전탐색을 의미하며 모든 경우의 수를 다해보는 방법을 의미한다.
✔구현 과정
1. 가능한 모든 가지수를 계산해본다.(입력, 출력 제한이 중요)
2. 어떤 식으로 구현할지 생각한다.(단순 for문 / 순열/ 재귀(백트래킹) 등)
✔구현방식 :
아홉 명의 난쟁이 중 두 난쟁이를 제외해야 100이 되므로 전제 난쟁이의 합에서 2명을 뺀 값이 100이되도록 하는 두 난쟁이를 구한다.
처음부터 9번째까지 두명을 선택하도록 만들었다.
✔소스코드 :
h = []
for i in range(9):
h.append(int(input()))
total = sum(h)
a = 0
b = 0
for i in range(8):
for j in range(i + 1, 9):
if total - (h[i] + h[j]) == 100:
a = h[i]
b = h[j]
h.remove(a)
h.remove(b)
h.sort()
for i in h:
print(i)
'백준문제풀이' 카테고리의 다른 글
[백준 문제풀이] 3085번 : 사탕게임 (0) | 2021.07.30 |
---|---|
[백준 문제풀이] 1476번 : 날짜 계산 (0) | 2021.07.29 |
[백준 문제풀이] 14002번 : 가장 긴 증가하는 부분 수열 4 (0) | 2021.07.21 |
[백준 문제풀이] 11053번 : 가장 긴 증가하는 부분 수열 (0) | 2021.07.21 |
[백준 문제풀이] 2193번 : 이친수 (0) | 2021.07.21 |