
반응형
학원 점심시간에 코테문제 풀기 후후..😊
문제
문제 설명
연속한 자연수의 합이 n이 되는 경우의 수를 구해라.
예시: n = 15 -> result = 4
- 1 + 2 + 3 + 4 + 5 = 15
- 4 + 5 + 6 = 15
- 7 + 8 = 15
- 15 = 15
코드
# 연속한 자연수의 합이 n이 되는 경우의 수를 구해라.
# 예시: n = 15 -> result = 4
# 1 + 2 + 3 + 4 + 5 = 15
# 4 + 5 + 6 = 15
# 7 + 8 = 15
# 15 = 15
def solution(n):
answer = 0
for i in range(1, n // 2 + 1):
sum = i
new_i = i
while n > sum:
new_i += 1
sum += new_i
if sum == n:
answer += 1
# 자기 자신일 경우
answer += 1
return answer
코드 설명
n: 함수의 매개변수, 표현해야 하는 숫자
for문을 이용해서 연속한 숫자를 더한 변수인 sum이 n보다 크기 전까지(같거나 작을 때까지) 반복을 한다.
sum이 n과 같을 경우 answer에 1 더해준다.
for문을 n을 반으로 나눈 숫자 만큼 돌린다.
=> 7+8과 8+7은 같은 것으로 치기 때문이다.
더한 것 빼고도 자기 자신인 경우도 포함하기 때문에 마지막에 1을 한번 더 더해주게 된다.
반응형
'코테공부' 카테고리의 다른 글
[Python] 연습문제 : 피보나치 수 (0) | 2023.09.25 |
---|---|
[Python] 연습문제 : 다음 큰 숫자 (0) | 2023.09.25 |
[Python] 코딩 기초 트레이닝 : 주사위 게임 3 (0) | 2023.09.20 |
[Python] 연습문제 : 최솟값 만들기 (0) | 2023.09.20 |
[Python] 연습문제 : JadenCase 문자열 만들기 (0) | 2023.09.20 |