티스토리 뷰
title: "숫자의 표현"
category: 프로그래머스[Level-2]
tags: [C++, JavaScript, 프로그래머스]
date: "2021-01-31"
문제 링크
C++
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
int answer = 1; // 자기 자신
int limit=(n%2)?(n+1)/2:n/2;
int sum=0;
int sub=1; // 1부터 빼기
for(int i=1; i<=limit; i++){
sum += i;
if(sum>=n){
while(sum>n) sum-=sub++;
if(sum==n) answer++;
}
}
return answer;
}
JavaScript
function solution(n) {
var answer = 1; // 자기 자신
const limit = n % 2 ? (n + 1) / 2 : n / 2; // 홀수일 경우 (n+1)/2
let sum = 0;
let shift = 1; // 1부터 빼기
for (let i = 1; i <= limit; i++) {
sum += i;
if (sum >= n) {
while (sum > n) sum -= shift++;
if (sum === n) answer++;
}
}
return answer;
}
728x90
반응형
'Programmers Solutions > Level-2' 카테고리의 다른 글
[프로그래머스] 다리를 지나는 트럭 (0) | 2021.01.31 |
---|---|
[프로그래머스] 기능개발 (0) | 2021.01.31 |
[프로그래머스] 이진 변환 반복하기 (0) | 2021.01.31 |
[프로그래머스] 최댓값과 최솟값 (0) | 2021.01.31 |
[프로그래머스] 폰켓몬 (0) | 2021.01.31 |
댓글