문제 설명

머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.


제한사항

  • 0 < money ≤ 1,000,000

입출력 예

moneyresult
5,500[1, 0]
15,000[2, 4000]

입출력 예 설명

입출력 예 #1

  • 5,500원은 아이스 아메리카노 한 잔을 살 수 있고 잔돈은 0원입니다.

입출력 예 #2

  • 15,000원은 아이스 아메리카노 두 잔을 살 수 있고 잔돈은 4,000원입니다.

✍ SOLUTION1

const solution = (money) => [Math.floor(money/5500), money%5500];

/* 내가 처음으로 작성한 코드이다. Math.floor를 통해서 meney를 5500으로 나누어서 뒤의 소수점을 
내림해주었다. 잔돈은 money를 5500으로 나눈 나머지를 계산하였다. */

✍ SOLUTION2

const solution = (money) => [~~(money/5500), money%5500];

/* 내가 작성한 두번째 방식이다. 틸트 연산자를 통해서 Math.floor와 같은 결과를 만들어주었다. */

✍ SOLUTION3

function solution(money) {
    var answer = [];

    answer.push(parseInt(money/5500));
    answer.push(money%5500);

    return answer;
}

/* 이건 다른분의 풀이이다. 먼저 answer 변수에 빈배열을 만들어준 후 push를 이용해서 인수들을 넣어주었다.
SOLUTION1과 SOLUTION2는 Math.floor, 틸트연산자를 이용해서 소수점 내림을 해주었는데 
SOLUTION3에서 parseInt를 통해서 만들어주었다. 
parseInt() 함수를 사용하는 주요 목적은 문자열에서 숫자를 추출하기 위함이다. 
이 함수는 입력받은 문자열을 실제 숫자값으로 바꾸어 반환한다. */
function solution(money) {
    return [parseInt(money/5500), money%5500];
}

// 위의 코드를 조금더 간결하게 가독성 좋게 바꾸어보았다.
const solution = (money) => [parseInt(money/5500), money%5500];

// 화살표 함수로 간결하게 작성해보았다. 

출처 : 프로그래머스 스쿨 | 코딩테스트 연습
https://school.programmers.co.kr/learn/courses/30/lessons/120819

0개의 댓글