2차 공부/알고리즘

두 수의 나눗셈

공대탈출 2024. 5. 27. 16:47

 

내가 작성한 코드

function solution(num1, num2) {
    return Math.floor(num1/num2*1000);
}

Math.floor()을 이용해 내림을 사용하여 알고리즘을 풀어냈다.

하지만 floor은 '버림'이 아닌 '내림'이므로 음수값이 출력되었을 때 틀리게 나온다.

따라서 Math.trunc()의 '버림' 기능을 사용하는 것이 알맞다.

 

예를들어 num1이 -3, num2가 2일 때 -3/2는 -1.5이다.

여기서 문제는 정수 부분만 원하므로 -1이 나와야하지만, 음수에서의 내림은 0방향에서 먼쪽으로 내리므로

Math.floor()을 사용하게되면 -2가 나온다. 따라서 Math.trunc()를 사용하여 -1을 도출해내는 것이 알맞다.

 

알맞은 코드

function solution(num1, num2) {
    return Math.trunc(num1/num2*1000);
}

 

'2차 공부 > 알고리즘' 카테고리의 다른 글

배열의 평균값  (0) 2024.05.27
짝수의 합  (0) 2024.05.27
문자열 붙여서 출력하기  (0) 2024.05.07
덧셈식 출력하기  (0) 2024.05.06
특수문자 출력  (0) 2024.05.06