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

먹보·2022년 11월 7일
0

1. 양꼬치

머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성

function solution(n, k) {
    var answer = 0;
    let ser = parseInt(n/10)
    answer = (n*12000) + (k*2000) - (2000*ser)
    return answer;
}

🗒️코멘트 : NULL

2. 머쓱이보다 키 큰 사람

머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성

//평소의 나의 풀이
function solution(array, height) {
    let together = array.push(height);
    array.sort((a,b) => b-a)
    let result = array.slice(0,array.indexOf(height)).length;
    return result;
}

//리팩토링의 여유
function solution(array, height) {
  return array.filter(el => el > height).length;
}

🗒️코멘트 : 확실히 여유가 생기다보니 리팩토링도 생각할 시간이 주어졌다. 직관적으로 푸는 나에게 있어 첫 풀이 법은 너무나 난잡했지만 filter를 기억하고 그것으로 접근하려다보니 간단하게 한 줄 짜리 코드가 나왔다.

3. 두 수의 나눗셈

정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성

function solution(num1, num2) {
    var answer = 0;
    answer = parseInt(num1/num2*1000)
    return answer;
}

🗒️코멘트 : NULL

4. 중복된 숫자 개수

정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성

//직관적인 풀이법
function solution(array, n) {
    var answer = 0;
    for (let i = 0 ; i < array.length ; i++){
        if (array[i] === n){
            answer += 1
        }
    }
    return answer;
}
//리팩토링
function solution(array, n) {
    return array.filter(el => el == n).length
}

🗒️코멘트 : 나이스 샷!

5. 짝수 홀수 개수

정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.

function solution(num_list) {
    var answer = [];
    let even = 0;
    let odd = 0;
    for (let i = 0 ; i < num_list.length ; i++){
        if (num_list[i] % 2 === 0){
            even +=1
        } else { odd += 1}
    }
    answer.push(even)
    answer.push(odd)
    return answer;
}

🗒️코멘트 : NULL

6. 아이스 아메리카노

머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성

function solution(money) {
    var answer = [];
    let numCoffee = parseInt(money/5500);
    let remainder = money - (numCoffee*5500)
    answer.push(numCoffee)
    answer.push(remainder)
    return answer;
}

🗒️코멘트 : 나머지 구할 때, 나눗셈을 활용해도 충분할 듯 싶다.

7. 문자열 뒤집기

문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성

function solution(my_string) {
    return my_string.split("").reverse().join("")
}

🗒️코멘트 : 크..한 줄 코드 이제 이런건 한 줄로!

8. 편지

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

function solution(message) {
    var answer = 0;
    answer = message.length*2
    return answer;
}

🗒️코멘트 : NULL

9. 배열 뒤집기

정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성

function solution(num_list) {
    return num_list.reverse();
}

🗒️코멘트 : NULL

10. 피자 나눠 먹기

머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성

function solution(slice, n) {
    return Math.ceil(n/slice)
}

🗒️코멘트 : NULL

📌총평 :

레벨 0 문제를 풀고 있음에도 아직은 성장하는 것 같은 느낌이 들어 기분이 좋다~ filter method를 이제 익숙하게 사용해보는 것 같은 느낌이 든다.

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

0개의 댓글