컴퓨터/프로그래머스

[Java] 프로그래머스 코딩테스트 연습 / 공배수

peridott 2026. 1. 25. 21:08

문제


정답

class Solution {
	public int solution(int number, int n, int m) {
    	if(number % n == 0 && number % m == 0) {
        	return 1;
        } else {
        	return 0;
        }
    }
}

개념설명

1. 클래스 선언

class Solution {

✔️ 의미

  • Solution이라는 이름의 클래스 정의

 

2. 메서드 선언

public int solution(int number, int n, int m) {

✔️ 의미

  • 정수 number, n, m을 입력받음
  • number가 n과 m 모두로 나누어 떨어지면 1
  • 아니면 0 반환
요소 의미
public 외부 접근 가능
int 반환 타입
solution 메서드 이름
int number 검사할 숫자
int n 첫 번째 기준
int m 두 번째 기준

 

3. 조건문 if

if(number % n == 0 && number % m == 0) {

✔️ 의미

  • 두 조건이 모두 참일 때만 if 블록 실행

 

4. 나머지 연산자 %

✔️ 첫 번째 조건

number % n == 0
  • number를 n으로 나눈 나머지가 0
  • number가 n으로 나누어 떨어진다.

✔️ 두번째 조건

number % m == 0
  • number를 m으로 나눈 나머지가 0
  • number가 m으로 나누어 떨어진다.

 

5. 논리 AND 연산자 &&

조건1 && 조건2

✔️ 의미

  • 양쪽 조건이 모두 true이야 true

✔️ && 진리표

조건1 조건2 결과
true true true
true false false
false true false
false false false

 

📌 이 코드에서의 의미

number % n == 0 && number % m == 0
  • number가 n과 m 둘 다의 배수

 

6. 참일 때 실행되는 코드

return 1;

✔️ 의미

  • 조건이 참이면 1 반환
  • 메서드 즉시 종료

 

7. else 블록

} else {

✔️ 의미

  • if 조건이 거짓일 때 실행

 

8. 거짓일 때 실행되는 코드

return 0;

✔️ 의미

  • 조건이 거짓이면 0 반환
  • 메서드 종료

 

9. 메서드 종료

}

🔚 전체 실행 흐름 요약

  1. number % n 계산
  2. number % m 계산
  3. 두 결과가 모두 0인지 확인
  4. 맞으면 1, 아니면 0 반환

💡 핵심 포인트 정리

문법 의미
% 나머지 연산
== 값 비교
&& AND(모두 참)
if / else 조건 분기
return 값 반환