문제 설명

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

재한사항
  • s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예

내 코드

function solution(s) {    
    return (s.length%2) === 0 ? s[(s.length/2)-1]+s[(s.length/2)] : s[Math.floor(s.length/2)];
}
728x90

문제 설명

새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다.
놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요.
단, 금액이 부족하지 않으면 0을 return 하세요.

제한사항
  • 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수
  • 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수
  • 놀이기구의 이용 횟수 count : 1 ≤ count ≤ 2,500, count는 자연수

입출력 예

입출력 예 설명

입출력 예 #1
이용금액이 3인 놀이기구를 4번 타고 싶은 고객이 현재 가진 금액이 20이라면, 총 필요한 놀이기구의 이용 금액은 30 (= 3+6+9+12) 이 되어 10만큼 부족하므로 10을 return 합니다.


내 코드

function solution(price, money, count) {
    var answer = -1;
    let required = 0;
    for(let i = 1; i <= count ;i++){
        required += (price * i);
    }
    
    return (money - required) < 0 ? (money - required) * -1 : 0;
}
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

+ Recent posts