반응형
250x250
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 |
Tags
- 학점은행제무료강의
- 모놀리식
- oracleapex
- 맥북환경설정
- SQL
- union
- Pass By Value
- 렌탈스튜디오창업
- 의사결정나무모형
- Homebrew
- 오라클
- 은행IT
- 학점은행제
- MSA
- 계정계
- 컴퓨터공학학사취득
- 코딩테스트
- 디렉토리계층구조
- 맥북셋팅
- 프로그래머스
- jdk17
- 개인프로필스튜디오창업
- jdk
- fastapi
- it자격증
- DB
- python
- 맥북
- 코어뱅킹
- 채널계
Archives
- Today
- Total
개발머해니
[파이썬] 출근하는 방법 Ⅰ 본문
728x90
반응형
실습 설명
영훈이는 출근할 때 계단을 통해 사무실로 가는데요. 급할 때는 두 계단씩 올라가고 여유 있을 때는 한 계단씩 올라 갑니다.
어느 날 문득, 호기심이 생겼습니다. 한 계단 또는 두 계단씩 올라가서 끝까지 올라가는 방법은 총 몇 가지가 있을까요?
계단 4개를 올라간다고 가정하면, 이런 방법들이 있습니다.
- 1, 1, 1, 1
- 2, 1, 1
- 1, 2, 1
- 1, 1, 2
- 2, 2
총 5개 방법이 있네요.
함수 staircase()는 파라미터로 계단 수 n을 받고, 올라갈 수 있는 방법의 수를 효율적으로 찾아서 리턴합니다.
print(staircase(0)) # => 1
print(staircase(1)) # => 1
print(staircase(4)) # => 5
실습 결과
def staircase(n):
a, b = 1, 1
for i in range(n):
a, b = b, a + b
return a
# 테스트 코드
print(staircase(0))
print(staircase(6))
print(staircase(15))
print(staircase(25))
print(staircase(41))
1
13
987
121393
267914296
시간 복잡도
728x90
반응형
'알고리즘' 카테고리의 다른 글
[파이썬] 중복되는 항목 찾기 Ⅱ (0) | 2023.09.30 |
---|---|
[파이썬] 출근하는 방법 Ⅱ (0) | 2023.09.30 |
[파이썬] 삼송전자 주식 분석 (0) | 2023.09.30 |
[파이썬] 투자 귀재 규식이 Ⅲ (0) | 2023.09.30 |
[파이썬] 투자 귀재 규식이 Ⅱ (0) | 2023.09.30 |