프로그래머스 - 숫자의 표현

Dean_Kang·2021년 7월 2일
0

프로그래머스

목록 보기
7/21

문제

주어진 n을 연속된 숫자들의 합으로 표현 가능한 갯수를 구하는 문제이다 예를 들어 n = 15라면

  • 1 + 2 + 3 + 4 + 5 = 15
  • 4 + 5 + 6 = 15
  • 7 + 8 = 15
  • 15 = 15
    와 같이 15를 만들 수 있는 경우가 4가지 이면 4를 반환해주면 된다.

코드

def solution(n):
    arr = list()
    seq = list()
    tmp = 0
    for i in range(1, n+1):
        for j in range(i, n+1):
            tmp += j
            seq.append(j)
            if tmp == n and seq not in arr:
                arr.append(seq)
                tmp = 0
                seq = []
            elif tmp > n:
                seq = []
                tmp = 0
                break

    answer = len(arr)
    return answer

완전탐색방식으로 1부터 n까지 1~15까지 가능한 경우를 탐색하고 그다음 2~15, 3~15, 4~15... 15~15 까지 탐색하여 가능한 경우를 모두 탐색해서 배열에 저장후 그 배열의 길이를 반환해주었다.

profile
for the goal

0개의 댓글

관련 채용 정보