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

먹보·2022년 12월 23일
0

1. 7의 개수

문제 : 머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.

function solution(array) {
    let count = 0;
    for (let i of array){
        for (let j of i.toString().split('')){
            if(7 == j) count++
        }
    }
    return count
}

🗒️코멘트 : NULL

2. 이진수 더하기

문제 : 이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.

function solution(bin1, bin2) {
    const num1 = parseInt(bin1,2);
    const num2 = parseInt(bin2,2);
    
    let sum = num1 + num2;
    
    const answer = sum.toString(2)
    return answer;
}

🗒️코멘트 : parseInt(x,2) 이진수를 다시 십진수로!! 그리고 .toString(2) 십진수를 다시 이진수로!

3. 숨어있는 숫자의 덧셈(2)

문제 : 문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.

function solution(my_string) {
    const initial = 0;
    const re = new RegExp(/[a-z/A-Z]/g)
    
    const numArr = my_string.split(re)
    
    
    return numArr.reduce((acc,curr) => Number(acc)+Number(curr),initial);
}

🗒️코멘트 : 정규표현식을 제대로 사용해본다..처음 문자열이 주어졌을 때 거기 내에서 숫자만 골라서 더해야 한다는 사실에 정규 표현식을 떠올렸고 정규표현식 메소드를 하나 하나 다 돌아보다가 split(re)내에 정규표현식을 사용하면 문자열을 걸러주고 거기서 배열을 줄여나가기 위해 reduce 메소드를 사용해서 답을 출력했다! 붐!

4. 공 던지기

문제 : 머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.

function solution(numbers, k) {
    let answer = 0;
    for (let i = 1 ; i <= k ; i++){
        let n = 2*(i-1);
        if(n > k){n %= numbers.length}
        answer = numbers[n]
    }
    return answer
}

🗒️코멘트 : NULL

5. 잘라서 배열로 저장하기

문제 : 문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.

function solution(my_str, n) {
    const answer =[];
    for (let i = 0 ; i < Math.ceil(my_str.length/n) ; i++ ){
        answer.push(my_str.slice(n*i,n*(i+1)))
    }
    return answer
}

🗒️코멘트 : NULL

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

0개의 댓글