조이:)
JS Lv.0 양꼬치 본문
문제 설명
머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다.
양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때,
양꼬치 n인분과 음료수 k개를 먹었다면
총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.
제한사항
0 < n < 1,000
n / 10 ≤ k < 1,000
서비스로 받은 음료수는 모두 마십니다.
입출력 예
n | k | result |
10 | 3 | 124,000 |
64 | 6 | 768,000 |
입출력 예 설명
입출력 예 #1
10인분을 시켜 서비스로 음료수를 하나 받아 총 10 * 12000 + 3 * 2000 - 1 * 2000 = 124,000원입니다.
입출력 예 #2
64인분을 시켜 서비스로 음료수를 6개 받아 총 64 * 12000 + 6 * 2000 - 6 * 2000 =768,000원입니다.
내가한 답
function solution(n, k) {
var answer = 0;
var yang = n;
var um = k;
var ser = parseInt(n/10);
if(um < ser) ser = um;
if(n>0 && n<1000 && ser>=0 && ser<1000){
answer = (yang * 12000) + (um * 2000) - (ser * 2000);
return answer;
}else{
answer = "제한사항 확인 필요";
}
}
🧚♀️알고가기
function solution(n, k) {
const lamb = n * 12000;
const service = ~~(n/10);
const drink = (k - service) * 2000;
return lamb + drink
}
~ 틸트연산자
비트 NOT 연산자( ~)는 피연산자의 비트를 반전합니다.
다른 비트 연산자와 마찬가지로 피연산자를 32비트 부호 있는 정수로 변환합니다.
임의의 숫자를 비트 단위로 표기 x하면 -(x + 1). 예를 들어, ~-5을 산출 4합니다.
~5 //4
Tilt(~) 사용시 숫자의 소수점을 버리게 되며, ~(Tilt) 연산을 두번 시킴으로써 결과적으로는 원래 상태로 되돌리게 된다.
이러한 소수점 버림 처리는 양수에서는 Math.floor()와 동일하게 적용되어 결과값이 같으나, 음수에서는 결과값이 달라질 수 있다.
~~52.3 // 52
Math.floor(52.3); // 52
~~-43.2 // -43
Math.floor-43.2; // -44
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_NOT
'JS Algorithm > Lv.0' 카테고리의 다른 글
JS Lv.0 피자 나눠 먹기 (1) (0) | 2022.11.02 |
---|---|
JS Lv.0 머쓱이보다 키 큰 사람 (0) | 2022.11.02 |
JS Lv.0 짝수의 합 (0) | 2022.10.27 |
JS Lv.0 배열의 평균값 (0) | 2022.10.27 |
JS Lv.0 각도기 (0) | 2022.10.26 |
Comments