문제
첫 번째이자 유일한 인수로 숫자 배열, arr를 취하는 JavaScript 함수를 작성해야 합니다.
다음 상황을 고려해 보겠습니다.
한 가게 주인이 정확히 5루피에 해당하는 단일 상품을 판매합니다. 일부 고객은 대기열에 서서 이 상품을 정확히 한 단위만 구매합니다. 고객은 가게 주인에게 5,000원, 10,000원의 지폐를 제공할 수 있습니다. 가게 주인이 처음에 돈이 없고 배열이 대기열에 서 있는 고객이 제공한 메모를 나타내는 것을 고려하면.
우리의 기능은 가게 주인이 모든 고객에게 정확한 변경 사항을 제공할 수 있는지 여부를 결정해야 합니다.
예를 들어, 함수에 대한 입력이
인 경우입력
const arr = [5, 5, 10, 10, 20];
출력
const output = false;
출력 설명
2개의 5개 음표가 2개의 10개 음표에 대한 변경 사항을 제공하는 데 사용되며 그 이후에는 20개 음표에 대한 변경 사항을 생성할 수 없기 때문입니다.
다음은 코드입니다:
예시
const arr = [5, 5, 10, 10, 20];
const provideChanges = (arr = []) => {
let fives = 0
let tens = 0
for(let i = 0; i < arr.length; i++) {
switch(arr[i]) {
case 5:
fives += 1
break
case 10:
if(fives <= 0) {
return false
}
fives -= 1
tens += 1
break
default:
if(tens >= 1 && fives >= 1) {
tens -= 1
fives -= 1
} else if(fives >= 3) {
fives -= 3
} else {
return false
}
break
}
}
return true
};
console.log(provideChanges(arr)); 출력
false