본문 바로가기
Coding Test/JavaScript

[Javascript] (프로그래머스 level 0) 양꼬치

by Chaedie 2022. 10. 9.
728x90

[Javascript] (프로그래머스 level 0) 양꼬치

💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.

내 풀이

function solution(n, k) {
    let lamb = 12000 * n;
    let services = Math.floor(n / 10);

    let drinks = k - services >= 0 ? (k - services) * 2000 : 0;
    let total = lamb + drinks;

    return total;
}
  • 헷갈려서 변수로 했는데 다른 사람 풀이는 다 그냥 연산 때려 넣었네요.. ㅎㅎ

다른 사람 풀이 참고한 풀이

function solution(n, k) {
    let lamb = 12000 * n;
    let services = ~~(n / 10);

    let drinks = k - services >= 0 ? (k - services) * 2000 : 0;
    let total = lamb + drinks;

    return total;
}
  • ~~ (double tilde) 연산자를 처음 봤다.
  • ~ 연산자는 비트에서의 not 연산자라고 한다.
  • 해당 연산자를 활용하면 Math.floor()를 간단하게 해결할 수 있는데, ~~는 비트 연산이라 해당 연산이 훨씬 빠르다고 한다.
  • 또한 ~~을 하면 undefined, null 등의 값을 0으로 변경해준다고 한다.
  • 따라서 obj에 키값이 undefined일때 0으로 바꿔주는 코드를 (~~ojb[key] + 1) 이런 식으로 defalut밸류를 0으로 세팅하면서 계산해줄수 있다고 한다. 자주 사용할 것 같다.

배운 점, 느낀 점

댓글