Algorithm/Javascript

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

보라해바라기 2023. 9. 13. 21:28
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