문제
https://school.programmers.co.kr/learn/courses/30/lessons/12924?language=python3
설계
- 숫자의 절반 또는 +1 까지 for문
- 합이 목표보다 커지면 false, 딱 떨어지면 cnt + 1
import math
def solution(n):
# 예외 처리
if n == 1:
return 1
cnt = 0
half = math.ceil(n/2)
for i in range(1, half+1):
sumV = 0
for j in range(i, half+1):
sumV += j
if sumV > n:
break
elif sumV == n:
cnt += 1
break
return cnt + 1 # 마지막 자기 자신 더하기
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 다음 큰 숫자 (0) | 2022.10.25 |
---|---|
[프로그래머스] 피보나치 수 (0) | 2022.10.24 |
[프로그래머스] 올바른 괄호 - 자바스크립트, 파이썬 (0) | 2022.10.22 |
[프로그래머스] 이진 변환 반복하기 (0) | 2022.10.21 |
[프로그래머스] 최솟값 만들기 (0) | 2022.10.15 |