Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 파이썬
- 10430
- 백준1476
- 기본메신저
- Class Delegation
- 1330
- 브루트포스
- PreferenceManager
- 코틀린
- 새싹
- BitMasking
- 10807
- 디버그심볼
- 18108
- Android
- 사파리 월드
- baekjoon
- safari world
- 백준
- 백준1107
- 25083
- 개수 세기
- 백준3085
- kotlin
- debugSymbolLevel
- 10926
- dp
- Counting The number
- 2525
- 꼬마 정민
Archives
- Today
- Total
세상을 더 좋게
[백준] 2309 '일곱 난쟁이' 파이썬(python) 본문
https://www.acmicpc.net/problem/2309
2309번: 일곱 난쟁이
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
www.acmicpc.net
list = [int(input()) for i in range(9)]
total = sum(list)
for i in range(9):
for j in range(i+1, 9):
if total - (list[i] + list[j]) == 100:
num1, num2 = list[i], list[j]
list.remove(num1)
list.remove(num2)
list.sort()
for i in range(len(list)):
print(list[i])
break
if len(list) < 9:
break
Point
- 어떠한 규칙을 사용해서 해결법을 찾으려 해도 직관적으로 무식하게 해야하는 문제라는 것을 알 수 있다. 결국 일일이 더하며 비교해야 하는 문제이기에 브루트 포스. 즉 완전탐색을 할 수 밖에 없다.
- 9개 중에 7개를 더해서 100을 찾을 수도 있겠지만, 2개를 빼서 합이 100인 것을 찾을 수도 있다. 따라서 뒤의 방법이 더 효율적일 거 같아 2개를 찾는 방법으로 하게 되었다.
- sort()함수를 사용하면 오름차순으로 정렬 된다.
'Algorithm > 브루트 포스' 카테고리의 다른 글
[백준] 1107 '리모컨' 파이썬(python) (0) | 2022.01.15 |
---|---|
[백준] 1476 '날짜 계산' 파이썬(python) (0) | 2022.01.14 |
[백준] 3085 '사탕 게임' 파이썬(python) (0) | 2022.01.14 |