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
- XSS 취약점
- 마이데이터
- 정보보안
- 데이터분석
- AWS
- 파이썬 문법
- 데이터 분석
- 클라우드
- 프로그래머스
- vagrant
- 코테
- 회귀분석
- 개인정보보호법
- 머신러닝
- 데이터3법
- docker
- 웹 모의해킹
- 백준
- 파이썬
- 자료형
- 컴퓨터 구조
- AI
- 알고리즘
- 코딩테스트 연습
- 개인정보보호
- 도커
- 웹모의해킹
- 함수
- 시저암호
- 코딩테스트
Archives
- Today
- Total
찬란하게
[알고리즘][python]조합, sep, 언팩킹, sorted(),백준 2309, 일곱난쟁이 본문
문제 설명
일곱 난쟁이 문제 :
9명의 일곱난쟁이 키가 주어지고,
그중에 키의 합이 100이 되는 7명을 골라내야 한다.
풀이 과정
1. 입력
여러 줄로 값을 입력받는다.
9명의 키를 n_list에 저장한다.
2. 알고리즘
1) 조합 -> combinations
h_list = list(combinations(n_list, 7))
2) 9C7의 조합을 구한 뒤에 합이 100이 되는 경우 break문으로 끝낸다.
3. 출력
1) print함수의 옵션 sep값을 통해 나눠서 출력한다.
2) 언팩킹 -> *을 통해서 print의 포장을 풀어준다.
3) 오름차순 정렬 -> sorted()
# 라이브러리
from itertools import combinations
# 입력
n_list = [int(input()) for _ in range(9)]
# 조합 덧셈 알고리즘
h_list = list(combinations(n_list, 7))
for i in range(len(h_list)):
if sum(h_list[i]) == 100:
print(*sorted(list(h_list[i])), sep='\n')
break
*** Combinations를 사용하지 않고 풀어보기!
'알고리즘' 카테고리의 다른 글
[코딩테스트] 깃허브 참고 자료 (0) | 2023.06.22 |
---|---|
[알고리즘][python]백준 2460번, 지능형 기차2 (0) | 2021.03.28 |
[알고리즘][python] 백준 10919, 최대최소 브론즈 (0) | 2021.03.27 |
[python][알고리즘] 백준 3460번, 이진수, bin(), reverse (0) | 2021.03.26 |
[알고리즘][python] 백준 2501, 약수구하기 (0) | 2021.03.26 |