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
- 수학
- Markdown
- httpCode
- 백준
- database
- mongoDB
- 인프콘2024
- Python
- 그리디
- 데이터베이스
- 코테
- Algorithm
- 탐색알고리즘
- 소수
- db
- 마크다운문법
- 파이썬
- 마크다운
- chatGPT
- 알고리즘
- 알고리즘기초
- 그리디알고리즘
- 수열
- 데이터
- 그래프
- 코딩테스트
- NoSQL
- 코딩문제
- 기초
- 몽고DB
Archives
- Today
- Total
Dev_from the Bottom
#9. Algorithm05_python) 1+2+4+7+11+16+22+...의 순서로 나열되는 수열의 20번째 항까지의 합계 본문
Algorithm_study
#9. Algorithm05_python) 1+2+4+7+11+16+22+...의 순서로 나열되는 수열의 20번째 항까지의 합계
고무라면 2022. 5. 10. 20:32문제)
1 + 2 + 4 + 7 + 11 + 16 + 22 +... 의 순서로 나열되는 수열의 20번째 항까지의 합계 구하기
# 접근 전략
- 각 항의 차를 나태는 수열(1,2,3,4...)를 활용하여 문제 속 수열 형태 구현
- 누적하여 합계 리턴
step1) 밑그림 : 문제의 수열 형태 구현
a = 0 # 각 항의 차를 나타내는 수열 : 1,2,3,4...
b = 1 # 수열 1,2,4,7,11,16...
for i in range(20): # 20번째 항
print(b, end=' ') # 수열 1,2,4,7,11,16...
a += 1
b += a
>>>
1 2 4 7 11 16 22 29 37 46 56 67 79 92 106 121 137 154 172 191
step2) 정답 출력
a = 0 # 각 항의 차를 나타내는 수열 : 1,2,3,4...
b = 1 # 수열 1,2,4,7...
answer = 0 # 수열의 합
for i in range(20): # 20번째 항
# print(b, end=' ') # 수열 1,2,4,7,11,16...
answer += b # 수열의 합
a += 1
b += a
print(f'수열 1,2,4,7,11,16,22,... 20번째 항까지의 합계 : {answer}')
>>>
수열 1,2,4,7,11,16,22,... 20번째 항까지의 합계 : 1350
step3) 메서드화
def algo_05():
a = 0
b = 1
answer = 0
for i in range(20):
answer += b
a += 1
b += a
return answer
print(f'수열 1,2,4,7,11,16,22,... 20번째 항까지의 합계 : {algo_05()}')
>>>
수열 1,2,4,7,11,16,22,... 20번째 항까지의 합계 : 1350
step4) 메서드 확장 : 사용자에게 입력받은 n을 파라미터로
def algo_05_extend(n): # 파라미터 추가
a = 0
b = 1
answer = 0
for i in range(n):
answer += b
a += 1
b += a
return answer
n = int(input("n 입력 : ")) # 사용자에게 입력받도록
print(f'수열 1,2,4,7,11,16,22,...의 n번째 항까지의 합계 : {algo_05_extend(n)}')
>>>
n 입력 : 20
수열 1,2,4,7,11,16,22,...의 n번째 항까지의 합계 : 1350
# 소회
- 파라미터로 n을 받는 형태의 문제 해결 성공!
- 깔끔하게 주석 적는 연습 : 주석 내용은 둘째 치고, 줄이라도 맞추니 훨씬 정돈되어 보임
- 내용적인 측면에서도 보는 사람이 이해하기 쉽게 주석 작성하자
'Algorithm_study' 카테고리의 다른 글
#11. Algorithm07_python) 피보나치 수열의 합 (0) | 2022.05.12 |
---|---|
#10. Algorithm06_python) 수열 1!+2!+3!+4!+5!+...+10!의 합계 (0) | 2022.05.11 |
#8. Algorithm04_python) -(1/2)+(2/3)-(3/4)+(4/5)-(5/6)+(6/7) ... -(99/100)의 합계 구하기 (0) | 2022.05.09 |
#7. Algorithm03_python) 1-2+3-4+5-6+ ... +99-100의 합계 구하기 (0) | 2022.05.08 |
#6. Algorithm02_python) FizzBuzz 문제 (0) | 2022.05.07 |
Comments