우테코-프리코스-💵 지갑의 지폐 교환하기
🚀 기능 요구 사항
계좌에 들어있는 돈 일부를 은행에서 출금하고자 한다. 돈 담을 지갑이 최대한 가볍도록 큰 금액의 화폐 위주로 받는다.
돈의 액수 money가 매개변수로 주어질 때, 오만 원권, 만 원권, 오천 원권, 천 원권, 오백원 동전, 백원 동전, 오십원 동전, 십원 동전, 일원 동전 각 몇 개로 변환되는지 금액이 큰 순서대로 배열에 담아 return 하도록 solution 메서드를 완성하라.
제한사항
- money는 1 이상 1,000,000 이하인 자연수이다.
실행 결과 예시
money | result |
---|---|
50237 | [1, 0, 0, 0, 0, 2, 0, 3, 7] |
15000 | [0, 1, 1, 0, 0, 0, 0, 0, 0] |
내 코드
1 | function problem5(money) { |
- 나머지와 몫을 이용해 반복문을 통해 구현하였다.
🏓 소감
- map 메서드는 배열의 요소에 콜백함수를 호출하여 그 반환값으로 새로운 배열을 만드는 메서드라고만 생각하고 처음에 papers 배열을 map 메서드를 사용하여 map 메서드 내부에서 money를 변형시켜 비순수한 함수로 구현하였다. 하지만 함수는 외부 변수를 변경하지 않고 순수하도록 작성해야하므로 이를 forEach 메서드로 변경하였다.
- 여기서는
parseInt
대신에Math.floor()
메서드를 사용하여 정수로 변형시켜주었다.