JavaScript - 프로그래머스 레벨 : 1(7) - ORDER BY '정답률'

먹보·2023년 1월 6일
0

1. 이상한 문자 만들기

문제 : 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

제한 사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.

  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

function solution(s) {
    const answer = [];
    const sArr = s.split(" ");
    for (let i of sArr){
        let changedWord = ""
        for (let j = 0 ; j < i.length ; j++){
          let alpha = i.charAt(j)
            if (j % 2 == 0){
                changedWord += alpha.toUpperCase()
            } else {changedWord += i.charAt(j).toLowerCase()}
        }
      answer.push([changedWord])
    }
    return answer.join(" ");
}

🗒️코멘트 : NULL

2. 3진법 뒤집기

문제 : 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.

function solution(n) {
    let answer = 0;
    let result = "";
    
    const trinaryResult = n.toString(3);
    for (let i = trinaryResult.length ; i >= 0 ; i--){
      result += trinaryResult.charAt(i);
    }
    answer = parseInt(result,3);

    return answer;
}

🗒️코멘트 : NULL

3. 예산

문제 : S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다.

물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다.

부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요.

function solution(d, budget) {
    d.sort((a, b) => a - b);
    let count = 0;
    for (const request of d) {
        if (budget >= request) {
            budget -= request;
            count++;
        } else {
            break;
        }
    }
    return count;
}

🗒️코멘트 : NULL

profile
🍖먹은 만큼 성장하는 개발자👩‍💻

0개의 댓글