코드 그라데이션

[Lv.0] 두 수의 나눗셈 본문

Java/알고리즘

[Lv.0] 두 수의 나눗셈

완벽한 장면 2023. 5. 10. 21:35

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

 

프로그래머스

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

programmers.co.kr

 

문제 설명

정수 num1과 num2가 매개변수로 주어질 때, 

num1을 num2로 나눈 값에 1,000을 곱한 후 

정수 부분을 return 하도록 soltuion 함수를 완성해주세요.

 

제한 사항

 

입출력 예

 

입출력 예 설명

 

아이디어

- 자바에서는 int / int 는 그 자체로 연산 결과가 int이다.(정수와 정수의 연산 => 결과 정수)

- 그러니까 나누기 하게 되면 double로 나눌 수들을 미리 형변환을 시키는 게 맞다.

- 즉 이 말은, 연산 중간에 한 번은 실수가 되는 과정이 필요하다는 거죠.

- 그리고 문제에서 요구한 것이, 1,000을 곱한 후에 정수 부분을 리턴하라고 했으므로,

  1000을 곱하는 과정 이후에 int로 형변환이 들어가야 한다. 먼저 해버리면 안 된다는 뜻.

- 작은 그릇에 큰 타입을 담으면 에러난다.

내가 작성한 코드

class Solution {
    public int solution(int num1, int num2) {
        int answer = 0;
        answer = (int)(((double)num1/num2)*1000);
        return answer;
    }
}
728x90
Comments