Animated Turtle

Prgrammers

프로그래머스 문제풀기 24일차

훙구 2023. 6. 8. 17:41

...

728x90
반응형

프로그래머스 문제풀기 24일차.

1. 프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요.

function solution(chicken) {
    let coupon = chicken;
    let service = 0;
    while (coupon >= 10) {
        service += Math.floor(coupon / 10);
        coupon = Math.floor(coupon / 10) + (coupon % 10);
    }
    return service;
}

 


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

function solution(bin1, bin2) {
    function ten(a) {
        let tennum = 0;
        a.split('').forEach((e, i) => {
            tennum += (parseInt(e) * 2) ** (a.split('').length - (i + 1));
        });
        if (a.split('')[a.split('').length - 1] == 0) tennum -= 1;
        return tennum;
    }
    return (ten(bin1) + ten(bin2)).toString(2);
}

 


3. 문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.

function solution(before, after) {
    return before.split('').sort().join('') == after.split('').sort().join('') ? 1 : 0;
}

 


4. 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 a = i; a <= j; a++) {
        String(a).split('').forEach((e) => {
            e.includes(String(k)) ? count++ : false;
        });
    }
    return count;
}
728x90
반응형