반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12924
문제 풀이
효율성 테스트를 한번에 못풀어서 다른 사람의 힌트를 참조함.. 투포인터로 접근
연속된 숫자의 합이기 때문에 x를 시작점으로 두고 y를 늘려가며 합을 확인함.
합이 num보다 커지면 x를 한칸 오른쪽으로 밀면 합-1되기 때문에 새로운 경우의 수가 됨
이런식으로 포인터 x,y를 옮겨가며 모든 경우를 체크
코드
def solution(num):
res = 0
for x in range(1,num+1):
SUM = 0
for y in range(x, num+1):
SUM += y
if SUM == num:
res += 1
break
if SUM > num:
break
return res
반응형
'알고리즘 > 프로그래머스 문제풀이' 카테고리의 다른 글
[프로그래머스] lv.2 피보나치 수 풀이 (1) | 2023.11.19 |
---|---|
[프로그래머스] lv.2 조건에 부합하는 중고거래 상태 조회하기 sql 풀이 (0) | 2023.11.19 |
[프로그래머스] lv.2 이진 변환 반복하기 풀이 (0) | 2023.11.19 |
[프로그래머스] lv.2 JadenCase 문자열 만들기 풀이 (0) | 2023.11.19 |
[프로그래머스] lv.1 특정 옵션이 포함된 자동차 리스트 구하기 sql 풀이 (0) | 2023.11.18 |