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

먹보·2022년 12월 22일
0

1. k의 개수

문제 설명 : 1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.

function solution(i, j, k) {
    let count = 0;
    for (let o = i ; o <= j ; o++){
        const m = o.toString().split('')
        for (let j of m){
            if (k == j) count++
        }
    }
    return count
}

🗒️코멘트 : NULL

2. 진료순서 정하기

문제 설명 : 외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요.

function solution(emergency) {
    const arr = [];
    for (let i of emergency){
        arr.push(i)
    }
    arr.sort((a,b)=>b-a)
    for (let i = 0 ; i < emergency.length ; i++){
        emergency[i] = arr.indexOf(emergency[i])+1
    }
    return emergency
}

🗒️코멘트 : 어려운 문제도 아니었는데...왜 이렇게 시간을 많이 잡아 먹은 건지..잘 모르겠다..그리고 뭔지 모르겠지만..코드가 마음에 들지 않는다..

3. 한 번만 등장한 문자

문제 설명 : 문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.

function solution(s) {
    const arr = []
    const sArr = s.split("");

    for (let i = 0; i <sArr.length ; i++){
        let count = 0;
        for (let j = 0 ; j <sArr.length ; j++){
            if(sArr[i] == sArr[j]){
            count++
            }
        }
        if (count == 1){
            arr.push(sArr[i])
        }
    }
    return arr.sort().join("")
}
//
function solution(s) {
    const arr = []
    const sArr = s.split("");

    for (let i of sArr){
        if (sArr.indexOf(i) == sArr.lastIndexOf(i)){
        arr.push(i)
        }
    }
    return arr.sort().join("")
}

🗒️코멘트 : 자바스크립트 공부의 끝이 없는 걸 다시 느끼는게..이걸 풀고 나서 Array.lastIndexOf()라는 메서드를 알게 되었다...하하하 그럼..밑에 있는 식과 같이 짧아 지는데..

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

0개의 댓글