프로그래머스에 있는 두 수의 차, 두 수의 곱은 사칙연산만 알고 있다면 풀 수 있는 문제다. 내가 아무리 멍청해도 그 정도는 알고 있기 때문에 두 수의 곱을 풀고 10초만에 바로 풀었다. (사실 코드 쓰느라 1분은 걸렸다. 영타 속도 늘어야 하는데...)
🤔문제
정수
num1
,num2
가 매개변수로 주어질 때,num1
을num2
로 나눈 몫을 return 하도록 solution 함수를 완성해주세요.
❎제한사항
0 ≤
num1
≤ 100
0 ≤num2
≤ 100
💖입출력 예
num1 num2 result 10 5 2 7 2 3
🗣️입출력 예 설명
입출력 예 #1
num1
이 10,num2
가 5이므로 10을 5로 나눈 몫 2를 return합니다.
입출력 예 #2
num1
이 7,num2
가 2이므로 7을 2로 나눈 몫 3을 return합니다.
📚 나의 풀이
function solution(num1, num2) { return Math.floor(num1 / num2); }
Math.floor
을 활용해 풀었다. Math.floor
함수는 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환한다. 10진수보다 작거나, 같은 최대 정수를 반환한다는 뜻이다.
코딩을 하면서 제일 중요한 거는 코드를 읽을 줄 알아야 한다고 했는데, 그럼 내 코드는 아마도 리턴한다, num1
과num2
를 나눠서 10진수보다 작거나 같은 최대 정수를! 이런 뜻이 되겠지...
그리고 내가 짠 코드를 보고 또 다른 사람들이 짠 코드도 같이 보았다.
Math.floor
대신 Math.trunc
을 활용한 사람도 보였다. Math.trunc
는 소수점 아래에 있는 것들을 다 버리는 것이다.
function solution(num1, num2) {
return ~~(num1/num2);
}
이렇게 틸트연산자
를 활용한 사람도 보였다. 처음 보는 코드에 공부할 게 또 늘어나 버렸다는 생각이 나를 슬프게 만들었다. 얘는 다음에 알아 보겠다...
오늘도 다양한 코딩의 세계에서 정신 못차리는 나를 보았다.