JAVA/Algorithm

[프로그래머스/입문] Lv.0 두 수의 나눗셈, 자바(Java)

성코 2023. 8. 31. 16:40

문제 설명

정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요.


제한사항

  • 0 < num1 ≤ 100
  • 0 < num2 ≤ 100

입출력 예

num1 num2 result
3 2 1500
7 3 2333
1 16 62


입출력 예 설명

입출력 예 #1

  • num1이 3, num2가 2이므로 3 / 2 = 1.5에 1,000을 곱하면 1500이 됩니다.

입출력 예 #2

  • num1이 7, num2가 3이므로 7 / 3 = 2.33333...에 1,000을 곱하면 2333.3333.... 이 되며, 정수 부분은 2333입니다.

입출력 예 #3

  • num1이 1, num2가 16이므로 1 / 16 = 0.0625에 1,000을 곱하면 62.5가 되며, 정수 부분은 62입니다.

문제 해결

class Solution {
    public int solution(int num1, int num2) {
        int answer = 0;
        boolean val = (0 <= num1 && num1 <= 100 && 0 <= num2 && num2 <= 100);
        
        //풀이1
        // if (val) {
        //     answer = (num1 * 1000) / num2;
        // }
        
        //풀이2
        double div = ((double) num1 / (double) num2);
        if (val) {
            answer = (int) (div * 1000);
        }
        return answer;
    }
}

>> 풀이1은 형변환 사용하지 않고 작성

>> 풀이2는 형변환 사용하여 전달받은 파라미터를 double로 강제 형변환 후, 1000으로 나눈 뒤 다시 int로 형변환하여 풀이