728x90

문제 설명

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.

제한 조건
  • n은 1이상 8000000000 이하인 자연수입니다.
입출력 예

내 코드

function solution(n) {
    var answer = 0;
    
    let nArray = ((n.toString()).split("")).sort(function(a,b){
        return b-a;
    });
    
    answer = (nArray.toString()).replace(/\,/g,"");
    return Number(answer);
}
728x90

문제 설명

JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)
문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.

제한 조건
  • s는 길이 1 이상 200 이하인 문자열입니다.
  • s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.
    • 숫자는 단어의 첫 문자로만 나옵니다.
    • 숫자로만 이루어진 단어는 없습니다.
    • 공백문자가 연속해서 나올 수 있습니다.
입출력 예

내 코드

function solution(s) {
    var answer = [];
    
    let array = s.split(" ");

    array.forEach((string,index)=>{
        // 모든 문자 소문자로
        string = string.toLowerCase(); 
        // 맨 첫 글자가 숫자인지 체크
        if( !Number.isInteger(string.slice(0,1)) ){ 
            // 맨 첫 글자가 숫자가 아니라면 첫 글자만 대문자로 변경
            string = (string.slice(0,1).toUpperCase())+string.slice(1,);
        }
        
        if(index !== array.length-1){
        answer+=string+" ";    
        }
        else{
            answer+=string;
        }
    })

    return answer;
}
728x90

문제 설명

문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.

제한 조건
  • s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
입출력 예

내 코드

function solution(s) {
    var answer = '';
    let array = s.split(" ");
    array = array.sort(function(a,b){
        return a - b;
    });
    
    answer = answer+array[0]+" "+array[array.length-1];
    return answer;
}
728x90

문제 설명

양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.

제한 조건
  • x는 1 이상, 10000 이하인 정수입니다.
입출력 예

출력 예 설명

입출력 예 #1
10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다.

입출력 예 #2
12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다.

입출력 예 #3
11의 모든 자릿수의 합은 2입니다. 11은 2로 나누어 떨어지지 않으므로 11는 하샤드 수가 아닙니다.

입출력 예 #4
13의 모든 자릿수의 합은 4입니다. 13은 4로 나누어 떨어지지 않으므로 13은 하샤드 수가 아닙니다.


내 코드

function solution(x) {
    var answer = true;
    
    // x의 자릿수의 합
    let addX = 0;
    let xString = x.toString();
    while(xString.length !== 0){
        addX += Number(xString.slice(-1));
        xString = xString.slice(0,-1);
    }
        
    return ( x/addX ) % 1 === 0 ? true : false;
}

+ Recent posts