Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

joyful

[Javascript] 양꼬치 - 프로그래머스 본문

프로그래머스

[Javascript] 양꼬치 - 프로그래머스

조이풀한 개발자 2024. 3. 29. 13:52

문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/120830

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

문제


 

 

 

 

풀이

function solution(n, k) {
  let discount = Math.floor(n / 10) * 2000;
  let answer = 12000 * n + 2000 * k - discount;

  return answer;
}

 

 

 

 

다른 사람 풀이

function solution(n, k) {
  let discount = Math.floor(n / 10) * 2000;
  let answer = 12000 * n + 2000 * k - discount;

  return answer;
}

 

물결물결(~~) 연산자: Math.floor와 동등하게 쓰이는 연산자

 

 

 

 

* 틸트(~) 연산자

1. 비트연산자로 NOT의 기능을 하며 -(n+1)이 출력된다.

 

예)

const a = 5;     // 0000000000000101
console.log(~a); // 1111111111111010
// expected output: -6

const b = -3;    // 1111111111111101
console.log(~b); // 0000000000000010
// expected output: 2

 

2. indexOf() 와 같이 사용하여 논리식을 짤 수 있다

indexOf는해당 인덱스가 존재하면 인덱스를 뱉어내고, 없으면 -1을 반환하는 메소드인데

이 틸트 연산자를 사용하면 -1이 0으로 출력되어 false값을 도출한다.

이 방법으로 조건식을 사용할 수 있다.

 

예)

const str = "Hello World";

if (~str.indexOf("ll")) {
  console.log(‘참’);
} else {
  console.log(‘거짓');
}

 

 

3. ~~을 사용하면 물결연산자로 위 예제에서처럼 Math.floor의 기능으로 사용할 수 있다.

 

 

 

출처: 
https://velog.io/@hannabananah/JavaScript-%ED%8B%B8%ED%8A%B8-%EC%97%B0%EC%82%B0%EC%9E%90%EC%9D%B8-%EC%99%80

 

JavaScript- 틸드 연산자인 (~) 와 (~~)

tilde 연산자는 비트연산자로 NOT의 기능2진수일 때 0과 1만 뒤바꾸면 됨Math.floor()와 동등하게 쓰이는 연산자Math.floor()와 비교한 \~~의 장단점장점속도 측면에서 \~~ , Math.floor() , parseInt순으로 \~~가

velog.io

https://webclub.tistory.com/21