항해 프로그래머스

항해2주차 자바스크립트 프로그래머스 - 몫구하기

완두노예 2023. 1. 20. 11:01

https://school.programmers.co.kr/learn/courses/30/lessons/120805

 

프로그래머스

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

programmers.co.kr

 

  • 문제 설명정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요.
  •  제한사항
    • 0 < num1 ≤ 100
    • 0 < num2 ≤ 100
  •  
num1 num2 result
10 5 2
7 2 3

 

나의 풀이

function solution(num1, num2) {
    var answer = 0;
    answer = ~~(num1 / num2);
    return answer;
}
//소수점을 표시하는게 나은가 toFixed 
//아니면 0< num1, num2 =< 100 제한표시하는게 나은가
//착각함! 소수점표기가 아닌 정수만 표기해야됨.
  • ~는 비트 연산의 not이고, 숫자에 ~ 연산을 하면 소수점이 버려진다.
  • ~~는 ~를 두 번 실행한 것으로, 숫자에 활용하면 원래 숫자에서 정수부분만 취할 수 있다.
  • parselnt / math.floor / ~~(double tilde) 3가지 같은 기능이라고 한다.

 

다른 풀이

function solution(num1, num2) {
  return parseInt(num1 / num2);
}
const solution = (num1, num2) => Math.floor(num1 / num2)
function solution(num1, num2) {
    return Math.trunc(num1 / num2);
}
function solution(num1, num2) {
    return (num1 / num2)<<0;
}
function solution(num1, num2) {
    var answer = num1 / num2;
    return Math.floor(answer);
}
function solution(num1, num2) {
    return Math.floor(num1/num2);
}

~~ 틸트연산자

function solution(num1, num2) {
    return ~~(num1/num2);
}