컴퓨터/프로그래머스

[Java] 프로그래머스 코딩테스트 연습 / 덧셈식 출력하기

peridott 2026. 1. 17. 11:36

문제


정답

import.java.util.Scanner;

public class Solution {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        
        System.out.printf("%d + %d = %d", a, b, a + b);
    }
}

개념설명

1. import.java.util.Scanner;

import.java.util.Scanner;

✔️ 의미

  • Scanner 클래스를 사용하겠다고 선언
  • 키보드 입력을 받기 위해 필요

 

2. 클래스 선언

public class Solution {

✔️ 의미

  • Solution 이라는 클래스 정의
  • 자바 프로그램은 반드시 클래스 내부에서 실행

 

3. main 메서드 (프로그램 시작점)

public static void main(String[] args) {

✔️ 의미

  • 프로그램 실행 시 가장 먼저 호출되는 메서드
요소 의미
public JVM 접근 허용
static 객체 생성 없이 실행
void 반환값 없음
main 고정 이름
String[] args 실행 인자

 

4. Scanner 객체 생성

Scanner sc = new Scanner(System.in);

✔️ 의미

  • 키보드 입력을 받을 준비

 

5. 첫 번째 정수 입력

int a = sc.nextInt();

✔️ 의미

  • 키보드로 입력한 값을 정수(int)로 받아
  • 변수 a에 저장

 

6. 두 번째 정수 입력

int b = sc.nextInt();

✔️ 의미

  • 또 하나의 정수를 입력 받아
  • 변수 b에 저장

 

7. System.out.printf() (포맷 출력)

System.out.printf("%d + %d = %d", a, b, a + b);

 

8. printf란?

System.out.printf(형식문자열. 값들...);

✔️ 의미

  • 형식(format)을 지정해서 출력
  • C언어의 printf와 동일한 방식
  • print / println보다 출력 형식을 깔끔하게 만들기 좋음

 

9. 형식 문자열 (Format String)

"%d + %d = %d"

✔️ 의미

  • 출력될 문 구조를 미리 정의
기호 의미
%d 정수(int)
  • 문자열 안의 %d 개수 = 뒤에 오는 값 개수

 

10. 값 목록

a, b, a + b

✔️ 의미

  • 형식 문자열의 %d 자리에
  • 순서대로 들어갈 값들

✔️ 매칭 순서

첫 번째 %d → a
두 번째 %d → b
세 번째 %d → a + b

🔚 전체 실행 흐름 요약

  1. 프로그램 시작
  2. Scanner 생성
  3. 정수 두 개 입력
  4. 덧셈 수행
  5. 포맷에 맞게 출력

💡 자주 쓰는 포맷 지정자 정리표

포맷 의미
%d 정수
%f 실수
%s 문자열
%c 문자
\n 줄바꿈