[챌린지 4일차] 양꼬치

eeeyooon·2023년 12월 19일

📆 231219 - Javascript 알고리즘 100일 챌린지 4일차

양꼬치

문제 링크

📩 문제 설명

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

제한사항

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

입출력 예

nkresult
103124,000
646768,000

제출 답안

function solution(n, k) {
    let sum = 12_000 * n + 2_000 * k;
    return sum - (2_000 * Math.floor(n/10));
}

답안 설명

양꼬치 10인분 당 음료수 하나를 서비스로 주기 때문에 양꼬치의 주문 인분에다가 10을 나누어서 Math.floor()를 사용하여 정수로 만들었다. 그리고 해당 값과 음료수의 값을 곱하고 전체 총합에서 뺐다.


영상 풀이

function solution(n, k) {

	if (n>=10) {	
  	  k -= ~~(n/10)
	}
  
	return 12000 * n + 2000 * k;
	}

1일차 때 했던 것처럼 Math.floor() 말고 비트 연산자를 통해 정수로 바꿔주었다. 또한 n이 10보다 큰 경우에만 서비스를 빼주는 처리를 하였다.

메모

~는 tilde 연산자로 NOT 기능을 하고 ~~는 double tilde 연산자로 소수점을 버려 정수로 만들어준다. 속도 측면에서는 ~~가 빠르다고한다. ~~, Math.floor, parseInt 순으로 빠른 퍼포먼스를 보여주었다고 한다. 또한 ~~undefined 또는 null을 0으로 변환할 때 사용될 수 있다.


0개의 댓글