컴퓨터/프로그래머스

[Java] 프로그래머스 코딩테스트 연습 / 문자열 붙여서 출력하기

peridott 2026. 1. 17. 18:30

문제


정답

import java.util.Scanner;

public class Solution {
	public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
        String a = sc.nextLine();
        String b = sc.nextLine();
        
        String str = a.replace(" ", "");
        String str2 = b.replace(" ", "");
        
        System.out.print(str);
        System.out.print(str2);
    }
}

개념설명

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. 첫 번째 문자열 입력

String a = sc.next();

✔️ 의미

  • 키보드로 입력한 값을 문자열(String)로 받아
  • 변수 a에 저장

✔️ next() 특징

  • 공백 전까지만 입력 받음

 

6. 두 번째 문자열 입력

String b = sc.next();

✔️ 의미

  • 또 하나의 문자열을 입력받아
  • 변수 b에 저장
  • 입력은 순서대로 처리됨

 

7. 문자열에서 공백 제거 (replace)

String str = a.replace(" ", "");

✔️ 의미

  • 문자열 a에 들어 있는 모든 공백 " "을 빈 문자열 ""로 치환

✔️ replace(old, new)

문자열.replace(기존문자열, 바꿀문자열)
인자 의미
" " 제거할 대상 (공백)
"" 바꿀 값 (없음

✔️중요한 포인트 (String 불변성)

a.replace(" ", "");
  • 이렇게 쓰면 원본 a는 절대 안바뀜 ❌
  • 그래서 반드시 ✔️
String str = a.replace(" ", "");
  • 처럼 새 변수에 저장해야 함

 

8. 두 번째 문자열 공백 제거

String str2 = b.replace(" ", "");

✔️ 의미

  • 문자열 b에서도
  • 같은 방식으로 공백 제거

 

9. 첫 번째 문자열 출력

System.out.print(str);

✔️ 의미

  • 공백이 제거된 str 출력
  • 줄바꿈 없음

 

10. 두 번째 문자열 출력

System.out.print(str2);

✔️ 의미

  • 공백이 제거된 str2 출력
  • 바로 앞 출력과 붙어서 출력

🔚 전체 실행 흐름 요약

  1. 프로그램 시작
  2. 문자열 2개 입력
  3. 각 문자열에서 공백 제거
  4. 두 문자열을 이어서 출력

💡 핵심 포인트 정리

문법 의미
next() 공백 전까지 문자열 입력 받음
replace(a, b) 문자열 치환
"" 빈 문자열
print() 출력 (줄바꿈 X)