코딩테스트
뇌주름 살리기 - 21
라퐁
2025. 2. 8. 14:53
치킨 쿠폰
프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken
이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요.
function solution(chicken) {
let answer = 0;
const coupon = function(x) {
if(x < 10) return 0;
console.log(x);
return Math.floor(x / 10) + coupon(Math.floor(x / 10) + (x % 10));
}
return coupon(chicken);
}
이진수 더하기
이진수를 의미하는 두 개의 문자열 bin1
과 bin2
가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.
function solution(bin1, bin2) {
let answer = '';
let bin = Number('0b' + bin1) + Number('0b' + bin2);
//2진수 변환
while(bin > 0) {
answer += (bin % 2).toString();
bin = Math.floor(bin / 2);
}
let binStr = answer.split('').reverse().toString().replaceAll(',', '');
//0은 0으로 만들기
if(binStr === '') binStr = '0';
return binStr[0] === 0 && binStr.length > 1 ? binStr.splice(1, -1) : binStr;
}
A로 B 만들기
문자열 before
와 after
가 매개변수로 주어질 때, before
의 순서를 바꾸어 after
를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.
function solution(before, after) {
return before.split('').sort().toString() === after.split('').sort().toString() ? 1 : 0;
}
k의 개수
1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i
, j
, k
가 매개변수로 주어질 때, i
부터 j
까지 k
가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.
function solution(i, j, k) {
let answer = 0;
for(let n = i; n <= j; n++) {
answer += n.toString().split('').filter((x) => x === k.toString()).length;
}
return answer;
}