나의 개발일지

[Algorithm][JavaScript] 프로그래머스 Level.1 - 두 수의 차 | 곱 | 몫 본문

Algorithm

[Algorithm][JavaScript] 프로그래머스 Level.1 - 두 수의 차 | 곱 | 몫

heew0n 2023. 11. 12. 17:24

 

✔️문제 1.  두수의 차

 

정수 num1 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요.

 

 

✔️ 제한사항

  • -50000 ≤ num1 ≤ 50000
  • -50000 ≤ num2 ≤ 50000

 

✔️ 입출력 예

 

num1              num2             result

2 3 -1
100 2 98

 

 

 

💡문제 풀이

 

// function solution(num1, num2) {
//     var answer = 0;
//     return answer;
// }

const solution = (num1, num2) => ~~(num1 / num2);

 

 

 


✔️문제 2. 두수의 곱

 

정수 num1, num2가 매개변수 주어집니다. num1과 num2를 곱한 값을 return 하도록 solution 함수를 완성해주세요.

 

 

✔️ 제한사항

  • 0 ≤ num1 ≤ 100
  • 0 ≤ num2 ≤ 100

 

 

✔️ 입출력 예

 

num1              num2             result

3 4 12
27 19 513

 

 

 

💡문제 풀이

 

// function solution(num1, num2) {
//     var answer = 0;
//     return answer;
// }

const solution = (num1, num2) => num1 * num2;

 

 


✔️문제 3.  두수의 몫

 

정수 num1, num2가 매개변수로 주어질 때, num1 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요.

 

 

✔️ 제한사항

  • 0 < num1 ≤ 100
  • 0 < num2 ≤ 100

 

✔️ 입출력 예

 

    num1                  num2                  result

10 5 2
7 3 2

 

 

💡문제 풀이

 

// function solution(num1, num2) {
//     var answer = 0;
//     return answer;
// }

const solution = (num1, num2) => ~~(num1 / num2);

 

 

 

 

❗새롭게 배워가는 메서드

 

// 1. parseInt
const solution = (num1, num2) => parseInt(num1 / num2);

// 2. Math.floor
const solution = (num1, num2) => Math.floor(num1 / num2);

// 3. ~~ (double tilde)
const solution = (num1, num2) => ~~(num1 / num2);


// Math.floor와 같은 기능을 한다.
// ~는 비트 연산의 not이고, 숫자에 ~ 연산을 하면 소수점이 버려진다.
// ~~는 ~를 두 번 실행한 것으로, 숫자에 활용하면 원래 숫자에서 정수부분만 취할 수 있다.


// 수행 속도는 ~~가 가장 빠름.
~~ > Math.floor() > parseInt