문제
첫 번째이자 유일한 인수로 숫자 배열, 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