본문 바로가기
코딩테스트 연습/프로그래머스 Lv.0

프로그래머스 코딩테스트 lv.0 - 나머지 구하기.(Java)

by 트레비봄 2023. 3. 29.
728x90

문제 설명 

정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.

 

제한 사항

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

입출력 예

num1 num2 result
3 2 1
10 5 0

문제 후기

위의 코드라인으로 문제를 풀었다.

다만 의문이 들었다. 제한사항은 어떻게 해야할까.

그래서 더 공부해보니

class Solution {
    public int solution(int num1, int num2) {
        int answer = -1;
        // num1과 num2가 제한사항을 벗어나는 경우, -1을 반환하고 함수를 종료
        if (num1 <= 0 || num1 > 100 || num2 <= 0 || num2 > 100) {
            return answer;
        }
        // num1을 num2로 나눈 나머지를 계산하여 answer에 할당
        answer = num1 % num2;
        
        return answer;
    }
}

이렇게 해야한다는 점이다. 테스트 케이스 실행 결과 작동이 잘 되었고, 문제가 없었다.

if 문을 풀어서 보면.

num1 <= 0 또는 100 < num1 또는 num2 <= 0 또는 num2 < 100 이 성립되면 -1을 반환 후 함수를 종료하는 것이다.

애초에 num1 % num2 를 못 풀게 한다는 것이다.

|| 는 OR 연산자로써 어느 하나라도 맞으면 TRUE 처리가 된다. 

논리 연산자에 대해 확실하게 인지하고 코드 라인을 짜봐야 겠다. 이렇게 하나 또 배워간다. 

728x90