[JS] - 매직넘버가 뭐야?

badassong·2023년 8월 19일
0

JS

목록 보기
30/31
post-thumbnail

프로그래머스에서 양꼬치라는 문제를 풀었다.

문제

머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.


제한사항

  • 0 < n < 1,000
  • n / 10 ≤ k < 1,000
  • 서비스로 받은 음료수는 모두 마십니다.

나의 풀이

function solution(n, k) {
    return n * 12000 + k * 2000 - Math.floor(n / 10) * 2000
}

Solution 😆

우리는 읽을 수 있는 코드를 작성하고 있다는 사실을 기억하자.
하드코딩된 숫자이지만 의미를 가지는 경우, 매직 넘버라고 부른다.
작성자만 알고 있는 마법.......

function ex90GetTotalPrice(n, k) {
    const 양꼬치 = 12000;
    const drink = 2000;
    const serviceCount = Math.floor(n / 10) 

  return n * 양꼬치 + (k-serviceCount) * drink;
}

사실 문제를 안 읽고 내가 짠 코드만 본다면 이게 무엇을 return 하고자 하는 함수인지 알 수가 없다.

하지만 아래 solution을 보면 문제에 나오는 숫자를 해석하기 쉽게 변수에 담아서 코드만 봐도 어떤걸 구하고자 하는 함수인지 딱 알 수 있다!

profile
프론트엔드 대장이 되어보쟈

0개의 댓글