일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 카카오
- 프로그래머스
- Combinations
- 자바
- programmers
- 다익스트라
- 정렬
- Zip
- backjoon
- 위클리 챌린지
- dfs
- 정규식
- 그리디
- Re
- Set
- 추석맞이 코딩챌린지
- 재귀함수
- heapq
- 백준
- BFS
- 동적 계획법
- 파이썬
- DateTime
- divmod
- 이분탐색
- KAKAO BLIND RECRUITMENT
- lambda
- 수학
- python
- java
Archives
- Today
- Total
상상쓰
[프로그래머스] 멀리 뛰기 본문
https://programmers.co.kr/learn/courses/30/lessons/12914
조합, 파스칼의 삼각형을 이용하여 풀었다. 4를 예로 들면, 2칸을 기준으로
2칸을 뛴 적이 0번일 때 : 4C0
1번일 때 : 3C1
2번일 때 : 2C2
answer = 4C0(1) + 3C1(3) + 2C2(1) = 5 이다.
파스칼의 삼각형의 원리를 이용하여 2차원 배열에 각 조합 값을 담아(dp[i][j] = iCj) 필요한 값을 꺼내어 answer 을 반환하였다.
def solution(n):
answer = 0
dp = [[1, 1]]
for i in range(1, n):
dp.append([1])
for j in range(i):
dp[i].append((dp[i-1][j] + dp[i-1][j+1]) % 1234567)
dp[i].append(1)
for i in range(n // 2 + 1):
answer += dp[n-i-1][i]
answer %= 1234567
return answer
print(solution(4)) # 5
'Coding Test' 카테고리의 다른 글
[프로그래머스] 매출 하락 최소화 (0) | 2021.08.10 |
---|---|
[프로그래머스] 2주차_상호평가 (0) | 2021.08.09 |
[백준] LCS (0) | 2021.08.07 |
[백준] 결혼식 (0) | 2021.08.05 |
[프로그래머스] 1주차_부족한 금액 계산하기 (0) | 2021.08.04 |
Comments