[문제]
정수 num1, num2가 주어질 때, num1에서 num2를 뺀 값을 return 하도록 solution함수를 완성하시오.
[입출력 예]
num1 | num2 | result |
2 | 3 | -1 |
100 | 2 | 98 |
답 스포 방지
function solution(num1, num2){
return num1-num2
}
or
const solution = (num1, num2) => num1 - num2
재밌었던 코드
function hiki(x , y) {
if (y == 0) return x;
return hiki(x ^ y, (~x & y) << 1);
}
function solution(num1, num2) {
return hiki(num1, num2);
}
비트계산하는건데 예를들어 num1=2, num2=3일때 2진수로 변환해보면,
num1=x | 2 | 2진수: 10 |
num2=y | 3 | 2진수: 11 |
if문에서 y==0 은 false
그래서 x^y, (~x&y)<<1을 구행해준다.
1. 연산자 우선순위에 의해 and가 먼저일텐데 그럴까싶어서 해봤다.
x=01, ~x=01
y=11
~x&y=01
<<1=
~x는 01이 된다.
01^11=10=2
(~x&y)=01
'알고리즘 > js' 카테고리의 다른 글
Lv.0 두 수의 나눗셈[7/100] Math.trunc() (0) | 2024.09.27 |
---|---|
Lv.0 두수의 곱[6/100] (0) | 2024.09.27 |
Lv.0 나머지 구하기[3/100] (0) | 2024.09.26 |
Lv.0나이 출력[1/100] (0) | 2024.09.26 |
Lv.0숫자 비교하기[4/100] (0) | 2024.09.26 |