백준 16395번 바로가기

나의 풀이

def factorial(n):
  temp = 1
  for i in range(1,n+1):
    temp *= i
  return temp

n,k=map(int,input().split())
print(int(factorial(n-1)/(factorial(n-k)*factorial(k-1))))

고수의 풀이

import math
S=input()
print(math.comb(int(S[:2])-1,int(S[2:])-1))

출처

CODE REVIEW

  1. 파스칼의 삼각형 - 이항계수 내용은 이제 너무 익숙해져서 다른 문제를 풀어봐야겠다.
  2. factorial을 구현해서 이항계수의 정의에 따라 구현해도 되구
  3. math 라이브러리의 comb 메소드를 사용해도 된다.