언어: python
번호: 1010
제목: 다리 놓기
등급: 실버 5
풀이 과정:
테스트 케이스 t를 입력받아 for 문으로 출력을 t 번 반복한다.
강의 서쪽과 동쪽에 있는 사이트의 개수 n, m을 입력받는다. n 개와 m 개의 점을 연결하는 것과 같으니 이는 조합이라 할 수 있다. 조합을 구하기 위해 math 함수를 이용할 수 있지만 나는 함수 없이 구현해 보았다. n과 m 이 같은 경우, n이 1인 경우로 나누어 계산했다.
코드:
# 1010
t = int(input())
for i in range(t):
result = 1
n, m = map(int, input().split())
if n==m:
print(1)
continue
elif n==1:
print(m)
continue
for i in range(m-n):
result = result * (i+1+n) / (i+1)
print(int(result))
메모:
다른 사람 코드를 봤는데 시간이 32ms로 내 코드의 절반도 안된다... 코드를 봐도 비슷해 보이는데 왜 다른 걸까? 일단 중급반 문제만 마저 풀고 알고리즘도 공부해야겠다.
'BOJ' 카테고리의 다른 글
[백준/BOJ] python 8958번 OX퀴즈 (0) | 2023.01.25 |
---|---|
[백준/BOJ] python 1904번 01타일 (0) | 2023.01.25 |
[백준/BOJ] python 7568번 덩치 (1) | 2023.01.25 |
[백준/BOJ] python 2798번 블랙잭 (2) | 2023.01.25 |
[백준/BOJ] python 2839번 설탕 배달 (1) | 2023.01.25 |