-
프로그래머스 - 숫자의 표현프론트엔드/프로그래머스 2024. 2. 20. 11:58728x90
문제
Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다.
1 + 2 + 3 + 4 + 5 = 15
4 + 5 + 6 = 15
7 + 8 = 15
15 = 15
자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요.정답
function solution(n) { let count = 0; for(let i = 1; i <= n; i++){ let sum = 0; for(let k = i; k <= n; k++){ sum += k; if(sum > n){ break; } if(sum === n){ count++; break; } } } return count; }
- count 변수를 초기화하여 표현하는 방법의 수를 저장합니다.
- for 루프를 사용하여 연속된 자연수들로 n을 표현하는 경우의 수를 확인합니다.
- i를 시작으로 하여 n까지 반복합니다.
- 내부에 또다른 for 루프를 사용하여 각 자연수들을 더합니다.
- sum 변수를 사용하여 현재까지 더한 값의 합을 저장합니다.
- 만약 sum이 n을 초과하면 더 이상 확인할 필요가 없으므로 break합니다.
- 만약 sum이 n과 같아지면, 해당 자연수들의 조합이 n을 표현하는 방법이 되므로 count를 증가시키고 내부 루프를 빠져나옵니다.
- 최종적으로 count를 반환하여 주어진 자연수 n을 연속된 자연수들로 표현하는 방법의 수를 얻습니다.
728x90'프론트엔드 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 제일 작은 수 제거하기 (0) 2024.03.25 프로그래머스 - 짝지어 제거하기 (0) 2024.02.20 프로그래머스 - 올바른 괄호 (0) 2024.02.20 프로그래머스 - 최솟값 만들기 (0) 2024.02.20 프로그래머스 - JadenCase 문자열 만들기 (0) 2024.02.20