[문제 설명]


lv0밖에 안되는 사칙연산에 관한 문제이다.

팀원들과 알고리즘 문제를 풀어나가면서 내가 알고 있는 개념을 쓸 줄 모르는 것 같은 기분에 Lv0 단계부터 차근차근 풀어보고 있었다.

그러면서 개념도 다시 정리하고 이 함수가 이렇게 쓰이는 거구나 알고 싶어서 시작했는데

역시나 기본문제부터 허덕이기 시작했다...

 

처음에 내가 풀었던 방식은

class Solution {
    public int solution(int num1, int num2) {
        int answer = 0;

        for (int i=0; i<num1; i++) {
            for (int j=0; j<num2; j++) {
                answer = (int)(num1/num2)*1000;
            }
        }
        return answer;
    }
}

이런 코드였는데 

너무 한치앞만 보고 계속 int로 해결하려고 한게 아닌가 싶다.

num1과 num2를 나누면 소숫점이 나올 수도 있는 것인데 그걸 간과하고 변수 생각을 못했던 것이다.

 

그래서 완성된 코드는 

class Solution {
    public int solution(int num1, int num2) {

        double answer = (double)num1/num2*1000;

        return (int)answer;
    }
}

인데 여기서 또 나는 (double)(num1/num2)*1000;

으로 작성을 해서 오류가 났다.

 

변환하려면 괄호도 조심해야 한다는 것을 깨달았다.ㅠㅠ

+ Recent posts