forked from mmistakes/minimal-mistakes
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #93 from Dangtae/LV1
Create 2024-02-21-level2-04.md
- Loading branch information
Showing
1 changed file
with
68 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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문으로 표현하는게 더 좋았을듯 |