개발 공부

프로그래머스 두 수의 나눗셈 Java 본문

코딩 테스트

프로그래머스 두 수의 나눗셈 Java

hyecozy 2022. 11. 5. 20:38

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

 

프로그래머스

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

programmers.co.kr

 

정말 기본적인 사칙연산 문제이지만 그래도 적어보기

 

사칙연산 중에서 나누기가 까다로운 것 같다 왜냐하면 정수끼리 계산해도 실수가 나올 수도 있으니까

그래서 정수끼리 나눗셈을 하더라도 결과값의 자료형은 double이나 float이어야만 실수값을 받을 수 있다.

(double과 float은 둘 다 실수가 들어가는 자료형으로, 차이는 정밀도에 있다.

float은 소수점 7자리, double은 15-16자리까지 표현할 수 있고 이에 따라 바이트 수도 차이가 난다.

float은 4Byte, double은 8Byte)

 

class Solution {
    public int solution(int num1, int num2) {
        double quotient = (num1 * 1.0) / num2;
        return (int)((quotient * 1000));
    }
}

기억해 둬야 할 것은 계산 순서와, 실수 정수 연산할 때의 특징이다.

위처럼 정수에 실수값을 곱하면 그 값은 자동으로 형변환되어 실수가 된다.

이 방법 말고 num1에 (double)을 붙여 형변환 하는 방법도 있다. 그렇게 되면 double형이 된 num1에 정수 num2를 계산해서 결과값으로 실수형을 얻을 수 있다.

기억해야 할 것으로 계산 순서를 꼽은 것은 괄호를 붙이고 안 붙이고에 따라 결과가 달라질 수 있기 때문이다

Comments