[프로그래머스] 230913 코딩테스트 연습

    SMALL

    1. 정수 내림차순으로 배치하기

    function solution(n) {
        var answer = 0;
        let result = 0;
        
        // 숫자 분리 후 정렬
        result = (n+"").split("").sort().reverse();
        
        // 문자 합치기 (문자열 상태) > join으로 바로 해결 가능!
        result.forEach(i=> {
            answer += i;
        })
        
        // 정수로 형변환
        return parseInt(answer);
    }

     

    2. 하샤드 수

    function solution(x) {
        var answer = true;
        let num = 0; // 긱 자릿수의 합
        
        (x+"").split("").forEach( i => {
            num += parseInt(i);
        })
        
        answer = (x%num == 0) ? true : false;
        
        return answer;
    }

     

    3. 두 정수 사이의 합 

    function solution(a, b) {
        var answer = 0;
        let min = Math.min(a, b);
        let max = Math.max(a, b);
        
        for(let i=min; i<=max; i++) {
            answer +=i;
        }
        
        return answer;
    }

     

    4. 콜라츠 추측

    function solution(num) {
        var answer = 0;
        
        while (num != 1) {
            if (num%2==0) {
                num /= 2;
                answer++;
            } else {
                num = num*3+1;
                answer++;
            }
        }
        
        if (answer > 500) {
            answer = -1;
        }
        
        return answer;
    }

     

    5. 서울에서 김서방 찾기

    function solution(seoul) {
        var answer = '';
        let idx = 0;
        
        idx = seoul.indexOf("Kim");
        answer = "김서방은 " + idx + "에 있다";
        
        return answer;
    }

     

     

    728x90

    댓글