백준에 대가리 깨지는중

[백준] 실버3 조합

HyunMaru 2023. 6. 5. 03:58

https://www.acmicpc.net/problem/2407

 

2407번: 조합

n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n)

www.acmicpc.net

말그대로 nCm 를 출력하는 문제이다. 

but, 정말 그 값들을 모두 출력하라는게 아니라 총 "개수" 를 구하라는 문제이다.

 

아무생각없이 파이썬의 from itertools import combinations를 했다가는 시간초과 뜰거같았다. 

예제로 나오는 100 6을 입력했을때, 1192052400개의 조합 경우의 수를 모두 구하는건 매우 오래걸릴 수 있는 문제이기때문이다.

 

역시 파이썬이 세상 편안한 언어라고 새삼 느꼈던 게, 본 문제를 단 한줄로 풀 수 있게 라이브러리를 제공해준다. 

math 라이브러리에서 math.comb를 하면 굳이 조합 경우의 수를 안구해도 총 개수를 바로 출력해준다.

(함수짜기 귀찮아서 라이브러리 찾아보니 있길래 잘 이용했음)

 

그래서 짠 코드는 다음과 같다.

첫번째 시도(성공)

매우 간단하게 풀어냈다.

2023년 5월부터 꾸준히 1일 1백준 중인데, 2023끝까지 1일 1백준을 성공하고할 수 있을지 의문...

일단, 1일 1백준 28일째..