

모든 계산을 int로 하게 된다면 소수점 이하가 절삭된 채로 계산이 된다.
그래서 1.5가 나와도 1이고 그것에 1000을 곱하면 1000이 된다.
처음 생각난 건 float였다.
하지만 float와 double은 둘 다 실수를 표현하는 데이터 형이지만
더 높은 정밀도를 원한다면 double을 이용해야한다.
class Solution {
public int solution(int num1, int num2) {
int answer = 0;
double preAnswer = (double) num1 / num2;
preAnswer = 1000 * preAnswer;
answer = (int)preAnswer;
return answer;
}
}
살짝의 캐스팅 개념이 있으면 좋을 것 같다고 생각한다.
int형인 num1과 2를 double로 업캐스팅하고 계산한다.
이후 그 값들을 int로 다운캐스팅하면 계산된 preAnswer값의 소수점 아래를 절삭해

모든 계산을 int로 하게 된다면 소수점 이하가 절사된 채로 계산이 된다.
그래서 1.5가 나와도 1이고 그것에 1000을 곱하면 1000이 된다.