본문으로 건너뛰기
김신건의 로그

[BOJ] 1359 복권

python itertools에는 너무나 좋은 것이 많다. ㅎㅎ

· 📖 약 1분 · 95자/단어 #BOJ #PS #combination

문제 요약 및 풀이

1359번: 복권

python itertools에는 너무나 좋은 것이 많다. ㅎㅎ

이 문제는 그냥 모든 경우를 탐색해도 된다. 그냥 빠르게 긁어버리자. (N,M이 8보다 작거나 같다. 경우 의 수가 8C4 정도가 최대다. 충분히 다 탐색할 수 있다.)

풀이 코드

from itertools import combinations

n, m, k = map(int,input().split())

ans = 0
all = [*combinations([i for i in range(n)], m)]  # 모든 경우의 수

for i in all:
  cnt = 0
  for j in range(m):
    if i[j] < m:  # 0 ~ m-1이 복권에 당첨되는 번호라고 가정한다.
      cnt+=1
  if cnt >= k:  # k 개 이상 맞은 경우
    ans += 1

print(ans / len(all))

💬 댓글

사이트 검색 / 명령어

검색

스크롤 = 확대/축소 · 드래그 = 이동 · 0 = 원래 크기 · ESC = 닫기