본문 바로가기
프로그래머스 코딩 테스트

프로그래머스 : JavaScript 알고리즘 100일 챌린지 24일차

by dongjin6539 2023. 6. 8.
728x90
반응형

프로그래머스 : JavaScript 알고리즘 100일 챌린지 24일차

 

코딩테스트 입문 Day24

 

 

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

function solution(chicken) {
    var answer = 0;
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
chicken result
100 11
1081 120

 

답 확인하기
function solution(chicken) {
    let answer = 0; // 서비스 치킨의 수
    
    while(chicken > 9) {
        answer += Math.floor(chicken / 10);
        chicken = Math.floor((chicken / 10) + ( chicken % 10));
    }
    
    return answer;
}

 

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

function solution(bin1, bin2) {
    var answer = '';
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
bin1 bin2 result
"10" "11" "101"
"1001" "1111" "11000"

 

답 확인하기
function solution(bin1, bin2) {
    return (parseInt(bin1, 2) + parseInt(bin2, 2)).toString(2);
}

// parseInt : 문자열을 파싱 하여 특정 진수의 정수를 반환 (= 특정 진수를 10진수로)
// toString : 숫자의 경우 선택적으로 기수(2~36)를 매개변수로 취하며, 이를 통해 10진수를 특정 진수로 변환한 값 반환

 

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

function solution(before, after) {
    var answer = 0;
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
before after result
"olleh" "hello" 1
"allpe" "apple" 0

 

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

// 문자열을 배열로 바꾼 뒤, 오름차순으로 정렬하고, 다시 문자열로 바꾸어 비교하는 방법

 

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

function solution(i, j, k) {
    var answer = 0;
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
i j k result
1 13 1 6
10 50 5 5
3 10 2 0

 

답 확인하기
function solution(i, j, k) {
    let a ='';
    for(i; i<=j; i++){
        a += i;
    }

    return a.split(k).length-1;
}

 

728x90
반응형