[Python] 백준알고리즘 #11050
📝 문제
⌨️ 입력
🖨 출력
⌨️ 예제 입력
5 2
🖨 예제 출력
10
📚 내가 제출한 코드
import sys
n, k = map(int, sys.stdin.readline().split())
if k == 0:
print(1)
elif k == 1:
print(n)
else:
numerator = 1; denominator = 1
if k > n - k:
k = n - k
for i in range(n, n - k, -1):
numerator *= i
for i in range(2, k + 1):
denominator *= i
print(numerator // denominator)
✏️ 내가 제출한 코드에 대한 설명
- sys.stdin.readline() : 키보드로 입력한 값을 받는 함수 (기존의 input() 보다 속도가 훨씬 빠르다.)
- a.split() : a를 빈칸 단위로 쪼개서 반환하는 함수
- map(a, b) : b의 원소 하나하나를 a에 대입한 것을 반환하는 함수
- k가 0일 때는 n값에 상관없이 결과값이 1이 나온다. (3 ~ 4번째 줄)
- k가 1일 때는 결과값으로 항상 n이 나온다. (5 ~ 6번째 줄)
- range(a, b, c) : a부터 b 되기 전까지 c씩 더한 값들을 반환하는 함수 (ex. range(5, -1, -1) = 5, 4, 3, 2, 1, 0)
- 마지막 줄에 '/'가 아니라 '//'을 사용한 이유 : '/'을 썼을 때 결과값이 실수 범위로 출력되기 때문
- 메모리 : 30864 KB
- 시간 : 76 ms
- 코드 길이 : 331 B
Author And Source
이 문제에 관하여([Python] 백준알고리즘 #11050), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@h0neydear/Python-백준알고리즘-11050저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)