일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- itertools
- 괄호
- 매일11시
- Python
- 11053
- 뒤로가기
- 홈화면
- permutation
- LCS
- 파이썬
- 최소공배수
- 6603
- Combination
- lcm
- 백준
- 11057
- 9095
- 앱
- Android
- 1260
- 11기
- 안드로이드
- 순열
- expo
- 11054
- 1182
- 코테
- 코틀린
- Kotlin
- 나머지
Archives
- Today
- Total
황소개발자
백준 6603 파이썬 python : 독일 로또 @@황소처럼 우직하게@@ 조합 itertools combinations permutation 사용법 + 런타임에러 해결 본문
백준 문제 풀이
백준 6603 파이썬 python : 독일 로또 @@황소처럼 우직하게@@ 조합 itertools combinations permutation 사용법 + 런타임에러 해결
hjp845 2020. 2. 21. 03:19반응형
역시 갓파이썬이죠
파이썬엔 itertools 란 모듈이 있습니다.
모르시는분 이제 알고 가세요. 화끈합니다.
import itertools
import sys
def sol():
while True:
s = sys.stdin.readline()
if s.strip() == "0":
return
lst = list(map(int, s.split()))
lst = lst[1:]
lst = list(map(str, lst))
combi = list(map(' '.join, list(itertools.combinations(lst, 6))))
for numbers in combi:
print(numbers)
print()
sol()
우선 윗 코드는 정답코드입니다.
그리고 permutations, combinations 쓰세용 두번 쓰세용
남들 for문 돌려서 다 구할때, 한줄로 끝냅니다.
import itertools
a = [1, 2, 3, 4]
print(list(itertools.combinations(a, 2)))
위와 같이 치면
[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
위와 같이 출력됩니다.
import itertools
a = [1, 2, 3, 4]
print(list(map(' '.join, list(itertools.combinations(map(str, a), 3)))))
위와 같이 치면
['1 2 3', '1 2 4', '1 3 4', '2 3 4']
위와 같이 출력됩니다.
combinations 나 permutaions 사용법은 같습니다.
다시 문제로 돌아와서
0일 때, 입력을 멈춰야되요.
input() 으로 받은거 strip() 으로 한 번 더 잘라주니까 런타임에러 안나더라고요.
아마 "0"이 아니라 "0 " 이렇게 오나봅니다.
반응형
'백준 문제 풀이' 카테고리의 다른 글
백준 2231 파이썬 python : 분해합 @@황소처럼 우직하게@@ (0) | 2020.02.23 |
---|---|
백준 1753 파이썬 python : 최단경로 @@황소처럼 우직하게@@ (0) | 2020.02.22 |
백준 11724 파이썬 python : 연결 요소의 개수 @@황소처럼 우직하게@@ 런타임에러 해결, 시간초과 해결 (0) | 2020.02.21 |
백준 1260 파이썬 python : DFS와 BFS @@황소처럼 우직하게@@ 탐색순서 주의안하면 시간초과납니다;; 최적화하기. (0) | 2020.02.20 |
LCS 최장 공통 부분 수열 : 3개일 때 길이 뿐만 아니라, 부분문자열까지 찾아내기 @@황소처럼 우직하게@@ (0) | 2020.02.20 |
Comments