숫자의 표현
풀이
for 문과 while문을 사용했다.
1. 우선 자기자신인 방법이 있으니 answer = 1로 등록
2. for 문으로 1, n//2 까지 확인 하기 n//2 + 1 이후로는 값을 더하게 되면 n을 넘어버리니까
3. while 문에서 sum_v == n이 되면 answer += 1 하고 break 후 다시 for문 돌기
4. for문 완료후 answr 반환
def solution(n):
# 자기자신인 방법이 있으니까
answer = 1
# 1~ n//2까지 돌아가며 확인
for i in range(1, n//2+1):
sum_v = i
j = i+1
while sum_v < n:
sum_v += j
if sum_v == n:
answer += 1
break
j += 1
return answer
다른 사람 풀이
아래는 등차수열을 이용한 방법으로 보인다.
역시 똑똑한 사람이 많다.
def expressions(num):
return len([i for i in range(1,num+1,2) if num % i is 0])
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 Lv2 전화번호 목록 (python) (0) | 2024.02.03 |
---|---|
프로그래머스 Lv2 N-Queen (python) (1) | 2024.02.03 |
프로그래머스 Lv1 콜라 문제 (python) (0) | 2024.02.03 |
프로그래머스 Lv1 달리기 경주 (python) (0) | 2024.02.02 |
프로그래머스 Lv1 명예의 전당 (1) (python) (0) | 2024.02.02 |