반응형
https://school.programmers.co.kr/learn/courses/30/lessons/181186
<문제 풀이>
- 다른 사람의 힌트를 보고 푼 문제이다. 초반에 직접 세어가면서 했지만 아직도 이해가 조금 부족해서 설명은 어려울 것 같다. 코드는 참고용으로...
- 자세한 힌트는 해당문제의 질문목록을 참고하도록 하자!!!
- 혹시 잘 아시는 분이 계시다면 댓글로 남겨주세요.^^
<Code>
def solution(n):
dp = [0, 1, 3, 10]
check = [8, 0, 2]
if n > 3:
dp += [0] * (n-3)
for i in range(4, n+1):
temp = i % 3
dp[i] = (check[temp] + dp[i-1] + dp[i-2] * 2 + dp[i-3] * 5 + (2 if temp else 4)) % 1000000007
check[temp] += (dp[i-1] * 2 + dp[i-2] * 2 + dp[i-3] * 4)
check[temp] %= 1000000007
return dp[n]
※ 잘못된 점, 개선점 등이 있다면 언제든 댓글로 알려주시면 감사하겠습니다.
반응형
'Alogorithm > programmers' 카테고리의 다른 글
[programmers] Lv3 표현 가능한 이진트리 - Python (0) | 2023.10.25 |
---|---|
[programmers] Lv3 미로 탈출 명령어 - Python (0) | 2023.10.25 |
[programmers] Lv2 귤 고르기 - Python (0) | 2023.10.13 |
[programmers] Lv3 상담원 인원 - Python (0) | 2023.09.06 |
[programmers] Lv3 거스름돈 - Python & Java (0) | 2023.05.09 |