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

SSO·2020년 2월 12일
0

프로그래머스 Lv2

목록 보기
27/46

문제

https://programmers.co.kr/learn/courses/30/lessons/12924

풀이

//1. 나의 풀이
function solution(n) {
    var answer = 0;
    var middle = Math.ceil(n/2); // middle까지만 확인하면 됨
    var sum = 0;
    var arr = [];
    
    // 더하기 위해서 배열 생성
    for(var i=1; i<=middle; i++){
        arr.push(i);
    }
  
    // 배열의 처음요소부터 순차적으로 더하다가 합이 n이면 다음 숫자부터 다시 반복
    for(var j=0; j<arr.length; j++){
       for(var k=j; k<arr.length; k++){
           sum = sum+arr[k];
           if(sum===n){
               answer = answer + 1;
            break;
           }else if(sum>n){
            break;
           }
       }
        sum = 0;
    }
    
    return answer + 1 ; //자기자신(n)일 경우 고려
}

//2. 다른 사람의 풀이: 홀수인 약수의 개수를 구하는 것..이라고 함.
// https://www.zerocho.com/category/Algorithm/post/5b7bf396b35bf5001b940dc5
function solution(n) {
    return Array(n).fill()
      .map((v, i) => i + 1)
      .filter(v => (!(n % v) && v % 2) ).length;
}

더 생각해보기

참고사항

profile
happy

0개의 댓글