컴퓨터/프로그래머스

[Java] 프로그래머스 코딩테스트 연습 / 특수문자 출력하기

peridott 2026. 1. 17. 10:59

문제


정답

public class Solution {
	public static void main(String[] args) {
    	System.out.print("!@#$%^&*(\\\'\"<>?:;");
    }
}

개념설명

1. 클래스 선언

public class Solution {

✔️ 의미

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

 

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

public static void main(Sting[] args) {

✔️ 의미

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

 

3. 출력문

System.out.print("!@#$%^&*(\\\'\"<>?:;");

 

4. System.out.print()

System.out.print(문자열);

✔️ 의미

  • 괄호 안의 내용을 콘솔에 출력
  • 줄바꿈 없음

 

5. 문자열 리터럴

"!@#$%^&*(\\\'\"<>?:;"

✔️ 의미

  • 큰따옴표 " 안에 있는 건 문자열(String)
  • 문제는 여기안에
    • 특수문자 + 따옴표 + 백슬래시가 있다는 점

 

6. 이스케이프 문자란?

✔️ 정의

  • 문자열 안에서 특별한 의미를 가지는 문자를 문자 그대로 표현하기 위해 사용하는 표기법

✔️ 기본 형태

\문자

 

7. 코드 안 이스케이프 문자 하나씩 해석

\\

✔️ 의미

  • 문자 \ 하나를 출력

✔️ 이유

  • \는 이스케이프 시작 문자
  • 그래서 문자로 쓰려면 두 번 써야 함
\'

✔️ 의미

  • 작은따옴표 ' 출력
  • char 또는 문자열 안에서 작은따옴표를 문자 그대로 쓰기 위해 사용
\"

✔️ 의미

  • 큰따옴표 " 출력
  • 문자열은 "로 시작/끝나기 때문에 그 안에 "를 쓰려면 반드시 이스케이프 필요

 

8. 전체 문자열 실제 출력 결과

코드에 있는 문자열

"!@#$%^&*(\\\'\"<>?:;"

자바가 해석한 실제 출력은

!@#$%^&*(\'"<>?:;
코드 출력되는 문자
\\ \
\' '
\" "

🔚 전체 실행 흐름 요약

  1. 프로그램 시작
  2. 출력문 실행
  3. 특수문자 문자열 출력
  4. 프로그램 종료

💡 자주 쓰는 이스케이프 문자 정리표

문자 의미
\\ 백슬래시 \
\ " 큰따옴표 "
\' 작은따옴표 '
\n 줄바꿈
\t
\r 캐리지 리턴

💡 꿀팁

✔️ 특수문자 출력 문제 = 이스케이프 문자 문제

✔️ \ 보이면 무조건 두 번 생각

✔️ 출력 결과를 머릿속에서 한 번 해석해야 함