Skip to content

Commit

Permalink
Merge pull request #93 from Dangtae/LV1
Browse files Browse the repository at this point in the history
Create 2024-02-21-level2-04.md
  • Loading branch information
Dangtae authored Feb 21, 2024
2 parents a47b413 + 4fedf22 commit 837d0d5
Showing 1 changed file with 68 additions and 0 deletions.
68 changes: 68 additions & 0 deletions _posts/2024-02-21-level2-04.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
layout: single
title: "프로그래머스 LV2 - 숫자의 표현"
categories: CodingTest
tag: [LV2, 프로그래머스, 코딩테스트]
author_profile: false
sidebar:
nav: "counts"
---

[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/12924)

## 내 풀이
```python
def solution(n):
num = 1
start_num = 1
count = 1
while start_num < (n / 2):
total = 0
while total < n:
total += num
if total == n:
count += 1
break
num += 1
start_num += 1
num = start_num

return count
```

## 다른 풀이
```python
def solution(n):

    # 결과값을 1로 설정(자기 자신의 수를 말함)
    # 예) 15 = 15 또한, 한 개의 표현
    result = 1

    # 1부터 n의 절반까지 순회
    # 연속된 자연수들의 합이 n을 초과하는 경우는 고려하지 않아도 되기 때문
    for i in range(1, n//2 + 1):

        # 각 반복에서의 연속된 자연수들의 합을 저장할 변수를 0으로 초기화
        total = 0

        # 연속된 자연수들을 더하는 동안 그 합이 n보다 작은 경우에는 계속 반복
        while total < n:

            total += i

            # total 값이 n과 같다면 결과값을 1 증가시키고, 이 반복문을 종료
            if total == n:
                result += 1
                break

            i += 1 # 다음 연속된 자연수로 넘어갑니다.

    return result
출처: https://1ets-just-do-it.tistory.com/109 [파이썬은 신이야🔥🔥🔥:티스토리]
```

### 풀이 해석
- for문과 while문을 이용함

### 배울 점
- while문 두개가 아니라 하나는 for문으로 표현하는게 더 좋았을듯

0 comments on commit 837d0d5

Please sign in to comment.