문제

정답
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if(n % 2 == 0) {
System.out.println(n + " is even");
} else {
System.out.println(n + " is odd");
}
}
}
개념설명
1. import.java.util.Scanner;
import.java.util.Scanner;
✔️ 의미
- Scanner 클래스를 사용하겠다고 자바에게 알려주는 문장
- Scanner는 입력(키보드 입력)을 받기 위한 클래스
✔️왜 import가 필요할까?
- Scanner는 java.lang 패키지가 아니라 java.util 패키지 안에 있음
- 그래서 직접 import 해줘야 함.
❌ import가 없으면?
Scanner sc = new Scanner(System.in); // 컴파일 에러
2. 클래스 선언
public class Solution {
✔️ 의미
- Solution이라는 클래스 정의
- 자바 프로그램은 반드시 클래스 안에서만 실행
✔️public의 의미
- 어디서든 접근 가능
- 온라인 코딩 테스트에서든 클래스 이름을 문제에서 요구한 이름으로 맞춰야 함.
3. main 메서드 (프로그램 시작점)
public static void main(String[] args) {
✔️ 의미
- 프로그램이 실행되면 가장 먼저 호출되는 메서드
- 자바의 진입점(entry point)
| 문법 | 의미 |
| public | JVM이 접근 가능해야 함 |
| static | 객체 생성 없이 실행 |
| void | 반환값 없음 |
| main | 메서드 이름 (고정) / main 메서드는 형태가 절대 바뀌면 안됨 |
| String[] args | 실행 시 전달되는 인자 |
4. Scanner 객체 생성
Scanner sc = new Scanner(System.in);
✔️ 의미
- Scanner 객체를 생성
- 키보드 입력을 받을 준비
| 문법 | 의미 |
| Scanner | 클래스(설계도) |
| sc | 객체 변수 이름 (아무 이름 가능) |
| new Scanner(...) | 객체 생성 |
| System.in | 표준 입력(키보드) |
📌 즉, 키보드에서 입력을 읽을 수 있는 Scanner 객체를 만들겠다.
5. 정수 입력 받기
int n = sc.nextInt();
✔️ 의미
- 키보드로 입력한 값을 정수(int)로 받아서
- 변수 n에 저장
✔️ 동작 순서
- 사용자 입력 대기
- 숫자 입력 (예: 7)
- nextInt()가 정수로 변환
- n에 저장
❌ 정수가 아닌 값 입력하면?
InputMismatchException
6. 나머지 연산자 %
n % 2
✔️ 의미
- 나누고 남은 나머지
✔️ 예시
7 % 2 = 1
8 % 2 = 0
📌 짝수 판별의 핵심 공식
n % 2 == 0 // 짝수
n % 2 == 1 // 홀수
7. if 조건문
if (n % 2 == 0) {
✔️ 의미
- 조건이 true면 {} 안의 코드 실행
| 부분 | 의미 |
| n % 2 | 2로 나눈 나머지 |
| == | 같다 (비교 연산자) |
| 0 | 기준 값 |
- n을 2로 나눈 나머지가 0이면
8. 출력문 (짝수일 때)
System.out.println(n + " is even");
✔️ 의미
- 콘솔에 출력 + 줄바꿈
✔️ 내부 동작
n + " is even"
- n은 int
- " is even"은 String
- String이 포함되면 → 문자열 연결
9. else 문
} else {
✔️ 의미
- if 조건이 false일 때 실행
10. 출력문 (홀수일 때)
System.out.printLn(n + " is odd");
🔚 전체 흐름 요약 ( 실행 순서)
- 프로그램 시작 (main)
- Scanner 생성
- 정수 입력 받음
- 짝수인지 검사
- 짝수면 " is even" 출력
- 아니면 " is odd" 출력
💡 핵심 포인트 정리
| 문법 | 의미 |
| import | 외부 클래스 사용 |
| Scanner | 입력 처리 |
| System.in | 키보드 입력 |
| nextInt() | 정수 입력 |
| % | 나머지 연산 |
| == | 값 비교 |
| if / else | 조건 분기 |
| System.out.println() | 출력 + 줄바꿈 |
💡 꿀 팁
- Scanner는 마지막에 닫는 게 좋음
sc.close();
- 삼항 연산자로도 문제 풀이 가능
System.out.println(n + (n % 2 == 0 ? " is even" : " is odd"));
'컴퓨터 > 프로그래머스' 카테고리의 다른 글
| [Java] 프로그래머스 코딩테스트 연습 / 대소문자 바꿔서 출력하기 (0) | 2026.01.16 |
|---|---|
| [Java] 프로그래머스 코딩테스트 연습 / 문자열 반복해서 출력하기 (0) | 2026.01.15 |
| [Java] 프로그래머스 코딩테스트 연습 / a와 b 출력하기 (0) | 2026.01.13 |
| [Java] 프로그래머스 코딩테스트 연습 / 문자열 출력하기 (0) | 2026.01.12 |
| [Java] 프로그래머스 코딩테스트 연습 / 두 수의 연산값 비교하기 (0) | 2026.01.10 |