코딩테스트 연습(Lv0 / 093 ~ 096)- Day24 수학, 시뮬레이션, 문자열, 조건문, 반복문

Kang.__.Mingu·2023년 1월 22일
0

코딩테스트(Lv0)

목록 보기
25/26

치킨 쿠폰

치킨 쿠폰

문제

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


function solution(chicken) {
    // 시켜먹은 치킨 수 = 쿠폰
    let coupon = chicken;
    let service = 0;
    
    // 쿠폰이 10 이상
    while(coupon >= 10){
        // 서비스 치킨 수 구하기
        service += Math.floor(coupon/10);
        // 치킨 주문 수 + 서비스 치킨 수 
        coupon = Math.floor((coupon%10) + (coupon/10))
    }
    return service;
}

이진수 더하기

이진수 더하기

문제

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


function solution(bin1, bin2) {
    // parseInt()를 통해 해당 값을 2진수를 명시한 뒤 더하고
    // toString()을 통해 2진수로 반환해주면 된다.
    return (parseInt(bin1,2) + parseInt(bin2,2)).toString(2);
}

// mdn에서 parseInt() 구문 부분을 보면 이해할 수 있다.

// mdn에서 toString() 매개변수 부분을 보면 이해할 수 있다.

MDN parseInt()
MDN toString()


A로 B 만들기

A로 B 만들기

문제

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


function solution(before, after) {
    before = before.split('').sort().join('');
    after = after.split('').sort().join('');

    return before === after ? 1 : 0;
}

k의 개수

k의 개수

문제

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


function solution(i, j, k) {
    let arr = [];
    let count = 0;
    for(let index = i; index <= j; index++){
        let str = index.toString().split('')
        if(str.includes(k.toString())){
            for(let i = 0; i < str.length; i++){
                if(str[i] === k.toString()){
                    count++;
                }
            }
        }
    }
    return count;
}
profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글