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
'코딩테스트 연습 > 프로그래머스 Lv.0' 카테고리의 다른 글
프로그래머스 코딩테스트 lv.0 - 두 수의 곱(java) (0) | 2023.05.04 |
---|---|
프로그래머스 코딩테스트 lv.0 - 두 수의 차(Java) (0) | 2023.05.04 |
프로그래머스 코딩테스트 lv.0 - 두 수의 합(JAVA) (0) | 2023.05.04 |
프로그래머스 코딩테스트 lv.0 - 나이 출력.(Java) (0) | 2023.03.31 |
프로그래머스 코딩테스트 lv.0 - 짝수의 합.(Java) (0) | 2023.03.30 |