728x90
문제 링크
알고리즘 설명
[알고리즘 공부] #1 완전 탐색, 브루트포스(Brute Force) 알고리즘 with Python (tistory.com)
문제 설명
이 문제는 완전탐색 알고리즘을 이용하여 모든 경우의 수를 탐색하는 방식으로 풀었다.
먼저 9명의 난쟁이 중에서 7명의 난쟁이의 키를 더했을 때 조건을 만족시키면 된다.
9명에서 7명을 골라서 더하는 것보다 9명에서 2명을 골라 뺀 후 나머지를 더하는게 더 효율적이라고 판단해 2명을 고르는 코드로 제작했다.
이중 반복문을 이용해 중복되지 않는 2명의 제외한 후 7명의 키를 더했다.
완전탐색 알고리즘은 그저 모든 경우의 수를 탐색하는 알고리즘이기 때문에 코드를 작성하는데 어려움이 없었고 코드도 알아보기가 쉬워서 좋았다.
CODE 설명
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
height = []
for i in range(9):
num = int(input())
height.append(num)
check = False
for i in range(8):
if check == True:
break
for j in range(i+1,9):
if sum(height) - height[i] - height[j] == 100:
check = True
temp1 = height[i]
temp2 = height[j]
height.remove(temp1)
height.remove(temp2)
break
height.sort()
for i in height:
print(i)
|
cs |
먼저 height 리스트를 생성하여 9명의 키를 담아주었다.
그 후 이중 반복문을 이용하여 중복되지 않는 2명의 키를 빼는 코드를 작성했다.
7명의 키의 합이 조건에 나온 100cm를 만족한다면 결과를 출력하는 식으로 만들었다.
728x90
'[알고리즘] > [알고리즘 문제 풀기]' 카테고리의 다른 글
[백트래킹 알고리즘] #2 백준 N과 M (2) (파이썬,15650번) (2) | 2024.07.07 |
---|---|
[백트래킹 알고리즘] #1 백준 N과 M (1) (파이썬,15649번) (1) | 2024.07.06 |
[완전탐색 알고리즘] #3 백준 날짜 계산 (파이썬,1476번) (2) | 2024.07.01 |
[완전탐색 알고리즘] #2 백준 사탕 게임 (파이썬,3085번) (0) | 2024.06.29 |