[프로그래머스 0단계 :JS] 작성일 기준 정답률 86%

안녕하세요 연하입니다.

오랜만에 글을 올린건 아니고 도중도중 글을 수정해서 문제를 풀고 있었습니다 ㅎㅎ

오늘은 정답률 86% 문제를 풀어보겠습니다.

 

(추가)

오늘로 0단계를 50문제 풀었네요. 남은 50 문제도 열심히 풀어봅시다!

(50/100)

 

1. 모음 제거

function solution(my_string) {
    var answer = '';
    let arr = ['a','e','i','o','u']
    arr.map( x => {
        my_string=my_string.split(x).join('')
    })
    
    return my_string;
}

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

function solution(my_string) {
    var answer;
    let l=0;
    answer=my_string.split('')
    answer=answer.filter( (x) => parseInt(x,10))
    answer.map(x => {l += x*1})//string -> int 작업
    return l;
}

3. n의 배수 고르기

function solution(n, numlist) {
    return numlist.filter( (el) => el%n === 0);
}

4. 직각삼각형 출력하기

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

let input = [];

rl.on('line', function (line) {
    input = line.split(' ');
}).on('close', function () {
    for(let i = 0; i<Number(input[0]);i++){
        console.log('*'.repeat(i+1))
    // for(let j = 0; j<i+1;j++){
    //  //process.stdout.write('*') //줄바꿈 없이 출력하기
    // }
    // console.log('')
}
});

5. 가위 바위 보

function solution(rsp) {
    var answer = '';
    rsp.split('').map( x => {
        switch(x){
            case '0':
                answer+=5
            break;
            case '2':
                answer+='0'
            break;
            case '5':
                answer+='2'
            break;
        }
    })
    return answer;
}

(추가!)

function solution(rsp) {
    let obj = {
        2:0,
        0:5,
        5:2
    }
    return [...rsp].map(x=>obj[x]).join('');
}

6. 개미 군단

function solution(hp) {
    var answer = 0;
    answer += parseInt(hp/5)
    answer += parseInt((hp%5)/3)
    answer += parseInt((hp%5)%3)
    return answer;
}

7. 주사위의 개수

function solution(box, n) {
    var answer = 1;
    box.map( x => {
        answer *= parseInt(x/n)
    })
    return answer;
}

8. 약수 구하기

function solution(n) {
    var answer = [];
    for(let i = 1; i <= n; i++){
        if(n%i === 0){
            answer.push(i)
        }
    }
    return answer;
}

9. 가장 큰 수 찾기

function solution(array) {
    var answer = [0,0];
    array.map( x => {
        if(x > answer[0])answer[0] = x;
    })
    answer[1] = array.indexOf(answer[0])
    return answer;
}

(추가!)

function solution(array) {
    return [Math.max(...array),array.indexOf(Math.max(...array))];
}

10. 대문자와 소문자

function solution(my_string) {
    var answer = [...my_string];
    for(let i = 0; i < answer.length ; i++){
        if(answer[i] === answer[i].toLowerCase()){
            answer[i] = answer[i].toUpperCase()
        }
        else{
            answer[i] = answer[i].toLowerCase()
        }
    }
    return answer.join('') 
}

(추가!)

function solution(my_string) {
    return [...my_string].map(x => x === x.toUpperCase()?x.toLowerCase():x.toUpperCase()).join('')
}