본문 바로가기
프로그래머스 코딩 테스트

프로그래머스 : JavaScript 알고리즘 100일 챌린지 16일차

by dongjin6539 2023. 5. 31.
728x90
반응형

프로그래머스 : JavaScript 알고리즘 100일 챌린지 16일차

 

코딩테스트 입문 Day16

 

 

1. 편지 : 머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.

function solution(message) {
    var answer = 0;
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
message result
"happy birthday" 30
"I love you~" 22

 

답 확인하기
function solution(message) {
    var answer = message.length * 2;
    return answer;
}

 

2. 가장 큰 수 찾기 : 정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.

function solution(array) {
    var answer = [];
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
array result
[1, 8, 3] [8, 1]
[9, 10, 11, 8] [11, 2]

 

답 확인하기
function solution(array) {
    let maxValue = -1;
    let maxIndex = -1;
    for(let i=0; i<array.length; i++){
        const item = array[i];
        if(maxValue < item){
            maxValue = item;
            maxIndex = i;
        }
    }
    return [maxValue, maxIndex];
}

 

3. 문자열 계산하기 : my_string은 "3 + 5"처럼 문자열로 된 수식입니다. 문자열 my_string이 매개변수로 주어질 때, 수식을 계산한 값을 return 하는 solution 함수를 완성해주세요.

function solution(my_string) {
    var answer = 0;
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
my_string
result
"3 + 4" 7

 

답 확인하기
function solution(my_string) {
    const arr = my_string.split(' ');
    let answer = Number(arr[0]);
    for(let i=1; i<arr.length; i+=2){
        const op = arr[i];
        const num = Number(arr[i+1]);
        if(op === '+'){
            answer += num;
        } else {
            answer -= num;
        }
    }
    return answer;
}

 

4. 배열의 유사 : 두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.

function solution(s1, s2) {
    var answer = 0;
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
s1 s2 result
["a", "b", "c"] ["com", "b", "d", "p", "c"] 2
["n", "omg"] ["m", "dot"] 0

 

답 확인하기
function solution(s1, s2) {
    var answer = 0;
    for (let j=0; j<s1.length; j++){
        const s1Item = s1[j];
        for(let i=0; i<s2.length; i++){
            const s2Item = s2[i];
            if(s1Item === s2Item){
                answer += 1;
            }
        }
    }
    return answer;
}

 

728x90
반응형