머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.
1 ≤ n ≤ 100
function solution(n) {
let i = i+1
let k = n/7
if (k=<i) {
return i
}
else if(k>i) {
return i+1
}
}
}
function solution(n) {
1 <= n <= 100;
let pizza = 7;
let result = pizza;
if(n > result) {
for(let i = 0; i < (n / pizza) - 1; i++) {
result += pizza;
}
};
var answer = result / 7;
return answer;
}
function solution(n) {
return n % 7 === 0 ? n / 7 : parseInt(n / 7) + 1;
}
function solution(n) {
return ~~(n / 7) + (n % 7 ? 1 : 0);
}
~~
를 처음봤다. 이게 무슨 기호인지 찾아보려고 했으나, 검색엔진에 키워드가 잡히지 않아 찾는데 꽤나 애먹었다. -_-~
는 비트 연산자라고 한다.NOT
이며 모든 비트를 뒤바꾼다고 한다. 예시
제목 | 내용 |
---|---|
5 | 00000000000000000000000000000101 |
~5 | 11111111111111111111111111111010 (-6) |
(원리)
MDN 에 따르면 bitwise not을 사용하면 x는 -(x+1)을 반환하고, 소수점을 모두 버린다고 한다. 그래서 2번 중첩해서 사용하면 소수점을 버린 상태가 된다.
// 3.5 -> -4 -> 3
const a = 3.5
console.log(~a) // -4
console.log(~~a) // 3
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_NOT
https://www.w3schools.com/js/js_bitwise.asp
https://velog.io/@skyepodium/JS-정수-나눗셈-몫-구하기
풀이를 생각해내는 논리적 과정을 사고의 전환을 통해 좀 더 간단하게 할 수 있다는 가능성에 생각을 열어두어야 한다. 아직 논리력이 부족하다는 것을 알 수 있었다.