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으로 세팅하면서 계산해줄수 있다고 한다. 자주 사용할 것 같다.
배운 점, 느낀 점
'Coding Test > JavaScript' 카테고리의 다른 글
[Javascript] (구름 먼데이 챌린지) 1주차 1번 문제 (0) | 2022.10.14 |
---|---|
[Javascript] (프로그래머스 level 0) 외계행성의 나이 (0) | 2022.10.14 |
[Javascript] (프로그래머스 level 0) 중복된 문자 제거 (0) | 2022.10.12 |
[Javascript] (프로그래머스 level 0) 문자 반복 출력하기 (0) | 2022.10.09 |
[Javascript] **(프로그래머스 level 0) 짝수는 싫어요** (0) | 2022.10.07 |
[Javascript] (프로그래머스 level 2) 카펫 (0) | 2022.09.30 |
[Javascript] (프로그래머스 level 2) 올바른 괄호 (1) | 2022.09.29 |
[Javascript] (프로그래머스) 짝지어 제거하기 (level 2) (0) | 2022.09.28 |
댓글