Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- C++
- NPM
- JS
- 파이어베이스
- 프론트엔드
- Android
- kotlin
- 타입스크립트
- typescript
- 백준 스택
- k for k
- TS
- javascript
- 스택
- 알고리즘
- firebase
- 파이썬
- 자바스크립트
- Python
- 리액트
- stdin vs input
- 백준 스택 시간초과 python
- 코딩테스트
- HTML
- 안드로이드
- nodejs
- next Link
- CSS
- react
- 최적화
Archives
- Today
- Total
sooleeandtomas
[day7] 코딩테스트 알고리즘 - 연습문제 (멀리뛰기) 피보나치 수열 python 파이썬 (feat.파이썬 다중할당) 본문
코딩테스트 알고리즘/기타
[day7] 코딩테스트 알고리즘 - 연습문제 (멀리뛰기) 피보나치 수열 python 파이썬 (feat.파이썬 다중할당)
sooleeandtomas 2022. 10. 2. 02:23프로그래머스 lv.2 멀리뛰기 (연습문제)
피보나치 수열 모르는 사람은 정.말 풀기 힘들 것 같다 💢
이 문제는 피보나치 수열을 알아야 풀 수 있다.
문제에서 피보나치 수열이라는 힌트를 얻을 수 있다.
[힌트1] 1칸 또는 2칸
[힌트2] 도달하는 방법이 몇 가지인지 알아내...
피보나치 수란?
수학에서 피보나치 수(영어: Fibonacci numbers)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다.
문제의 예시에 나오는 경우의 수들을 보면 피보나치 수열이 나온다.
이런 여러 힌트 조합을 통해 이 문제는 단순히 내가 "피보나치 수열"을 알고있는지를 확인하는 문제이다.
피보나치 수열을 알고있다면, 정말 그대로 구현해주면 된다.
참고 코드1
def solution(n):
answer = 0
if n < 3:
return n % 1234567
dp = [0] * (n + 1)
dp[1] = 1
dp[2] = 2
for i in range(3, n + 1): #이미 앞에서 1,2는 숫자를 지정해줬으니 할 필요가 없다.
#해서도 안될 것 같다. i가 1이면 (i-2)가 -1쟈나..
dp[i] = dp[i - 1] + dp[i - 2]
answer = dp[n] % 1234567
return answer
print(solution( 7 ))
참고 코드2
def jumpCase(num):
a, b = 1, 2
for i in range(2,num):
a, b = b, a + b
return b
print(jumpCase(4))
파이선의 다중 할당
코드들을 살펴보니 다중 할당이 되어있다. 파이선의 다중할당으로 동시에 여러 변수에 값을 할당할 수 있다.
a, b = 1, 2
# a : 1
# b : 2
for i in range(3):
a, b = b, a + b
# [0]
# a : 2
# b : 3
# [1]
# a : 3
# b : 5
# [2]
# a : 5
# b : 8
'코딩테스트 알고리즘 > 기타' 카테고리의 다른 글
[day19] 코딩테스트 알고리즘 - 오픈채팅방 (feat.파이썬 %s %d %f) (0) | 2022.10.18 |
---|---|
[day15] 백준 2588번 곱셈 python (0) | 2022.10.11 |
[day10] 코딩테스트 알고리즘 - 연습문제 정렬 (H-index) python (0) | 2022.10.05 |
[day9] 코딩테스트 알고리즘 - 연습문제 (N개의 최소공배수) python (feat.gcd) (1) | 2022.10.04 |
[day8] 코드업 2016번: 천단위 구분기호 python(feat.파이썬 range) (0) | 2022.10.03 |
Comments