요즘 자바스크립트를 배우니 코드를 조금씩 짜고 문법에 익숙해져야겠다는 생각이 들었다. 그런 까닭으로 프로그래머스 0단계 입문단계부터 차근차근 풀어보고 있다
오늘의 문제는 두 수의 나눗셈을 구하는 문제이다
문제설명
정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요.
아래는 내가 짠 코드이다
function solution(num1, num2) {
let answer = parseInt((num1 / num2) * 1000)
return answer;
}
문제대로 num1이랑 num2를 더하고 1000을 곱한 후 parseInt 메소드를 이용해서 정수로 바꾸어주었고 그 값을 리턴했다
문제는 통과했지만 다른 사람의 풀이법을 보니 내가 쓴 parseInt말고 math.floor를 더 많이 쓰는 거 같아 차이점이 뭔지 궁금해졌다
내가 찾아본 math.floor와 parseInt의 차이점은 다음과 같다
문자열을 인자로 받고 number타입으로 변환한다
정수로 변환한다
let a = parseInt("-15.7"); //
console.log(a)
// -15
let a = parseInt("10.7"); //
console.log(a)
// 10
소수 첫째 자리에서 버림해서 정수로 만든다
예를 들면 다음과 같다
let b = Math.floor("-15.7);
console.log(b)
// -16
let a = Math.floor("10.7"); //
console.log(a)
// 10
양수일 때는 똑같으나 음수일 때 값이 다르다
Math.floor가 소수 첫째 자리에서 버린다는 거를 기억하면 될듯하다
오늘도 하나 배워간다...!