본문 바로가기
Algorithm/프로그래머스

[프로그래머스] Lv2 - 숫자의 표현 (파이썬)

by _temp 2022. 5. 17.

https://programmers.co.kr/learn/courses/30/lessons/12924

 

코딩테스트 연습 - 숫자의 표현

Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할

programmers.co.kr

 

def solution(n):
    i, j = 1, 2
    sum = 1
    result = 0
    while i != j:
        if sum < n:
            sum += j
            j += 1
        else:
            if sum == n:
                result += 1
            sum -= i
            i += 1
    return result

 

투포인터
1. i, j, sum, result = 1, 2, 1, 0 초기값 설정
2. while 문 (i != j)
    - sum이 n보다 작으면, j를 더하고 j += 1
    - 아니면, n일 경우 result += 1, i를 빼고 i += 1
3. result 반환

 

연속된 수를 이용하는 문제는 투포인터를 생각하자