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 |
Tags
- 스택
- 12969
- 더하기 시리즈
- DFS
- HTML
- 컴공
- 백준풀이
- 백트래킹
- Greedy
- 11066
- 정규 표현식 #문자열
- 파이썬
- 오늘의 계획
- DP
- 백준
- 2
- knuth_optimization
- Python
- 코딩
- 다이나믹 프로그래밍
- ENFJ
- 웹 페이지 입문
- 브루트포스
- 오픽
- 3
- 수 정렬하기2
- 구현
- BFS
- 1
- 정렬
Archives
- Today
- Total
코딩하는 Fug
2309 일곱 난쟁이 본문
https://www.acmicpc.net/problem/2309
#브루트포스 알고리즘
2309번: 일곱 난쟁이
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
www.acmicpc.net
#2309 일곱 난쟁이 정리
l=[int(input()) for i in range(9)]
#리스트로 9난쟁이 받기
hap=sum(l)
#l의 합계
for i in range(8):
for j in range(i+1,9):
#조합느낌으로 겹치지않게 2개를 골라서 뺀다
if hap-l[i]-l[j]==100:
a=l[i]
b=l[j]
l.remove(a)
l.remove(b)
# 그냥 무지성 l.remove(l[i] l.remove[l[j]]했다가 한번 틀렸다. 한번 l[i]를 빼버리면 더이상 l[j]는 내가 알던 l[j]가 아니다.
break
if len(l)==7:
break
l.sort()
for i in l:
print(i)
'''
근데 뭔가 이상해서 좀 찾아보게 되었다.
이상하게 느낀점
1. 코드가 너무 투박함
2. 그냥 구현으로 푼것 같은 느낌
3. 기분이 그럼 그냥
그래서 찾아보니
중간에 if len(l)==7 부분을 flag변수로 0 1 처리해서 통과되었으면 1로 바꿔서 break 이런식으로 하면 좀 덜 투박하게 된다는 것을 알게 되었다.
'백준풀이-python' 카테고리의 다른 글
2693 N번째 큰 수 (0) | 2021.07.13 |
---|---|
2609 최대공약수와 최소공배수 (0) | 2021.07.13 |
10870 피보나치 수 5 (0) | 2021.07.13 |
2460 지능형 기차 2 (0) | 2021.07.13 |
10818 최소, 최대 (0) | 2021.07.13 |