728x90
반응형
빅데이터 교육 듣다가 오랜만에 알고리즘 비슷한 문제 풀어서 머리에 쥐 남.
한동안 뜸했는데 자주 풀어야지,,
- 다음과 같은 규칙을 가진 숫자의 합을 for문을 사용해서 구현하세요.
- 1부터 19까지 누적 합계를 구합니다.
(예시)
1 + (1 + 3) + (1 + 3 + 5) + (1 + 3 + 5 + 7) + ... + (1 + 3 + ... + 19)
1+
1+3+
1+3+5+
1+3+5+7+
1+3+5+7+9+
1+3+5+7+9+11+
1+3+5+7+9+11+13+
1+3+5+7+9+11+13+15+
1+3+5+7+9+11+13+15+17+
1+3+5+7+9+11+13+15+17+19+
합계: 385
1*10 + 3*9 + ... + 19*1 이니까 계산은 금방 할 수 있다고 생각했는데
반복 출력때문에 어렵게 느껴짐. 반복 출력은 저렇게 할 수 없으니까
1행 : 1
2행 : 1 + 3
3행 : 1 + 3 + 5
..
1부터 20까지 2 간격으로 건너뛰면 1, 3, 5, ... , 19 꼴이 되어 겉 a 루프를 range (1, 20, 2)
반응형
속 b 루프는 1부터 a까지 나올 수 있도록 2칸 간격으로 range (1, a+1, 2)
그리고 b를 누적시킬 total 변수가 필요.
total = 0
for a in range (1,20,2):
line = ''
for b in range(1, a+1, 2):
line += f'{b}+'
total += b
print(line)
print(f'합계: {total}')
점화식 전개를 생각하다 혼자 이상한 데 꽂혀서 조건 생각 안 하고 한참 애먹은 문제.
728x90
반응형
'study > CodingTest' 카테고리의 다른 글
병합 알고리즘 w/파이썬 (0) | 2023.05.21 |
---|---|
이진 검색 알고리즘 w/파이썬 (0) | 2023.05.20 |
자연수 뒤집어 배열로 만들기 (자료형 처리 / linkedlist / while) (0) | 2022.12.13 |
순열 검사 (배열의 정렬과 비교) (0) | 2022.12.12 |
최댓값의 인덱스 구하기 (0) | 2022.10.02 |
댓글