문제

정답
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. 전체 문자열 실제 출력 결과
코드에 있는 문자열
"!@#$%^&*(\\\'\"<>?:;"
자바가 해석한 실제 출력은
!@#$%^&*(\'"<>?:;
| 코드 | 출력되는 문자 |
| \\ | \ |
| \' | ' |
| \" | " |
🔚 전체 실행 흐름 요약
- 프로그램 시작
- 출력문 실행
- 특수문자 문자열 출력
- 프로그램 종료
💡 자주 쓰는 이스케이프 문자 정리표
| 문자 | 의미 |
| \\ | 백슬래시 \ |
| \ " | 큰따옴표 " |
| \' | 작은따옴표 ' |
| \n | 줄바꿈 |
| \t | 탭 |
| \r | 캐리지 리턴 |
💡 꿀팁
✔️ 특수문자 출력 문제 = 이스케이프 문자 문제
✔️ \ 보이면 무조건 두 번 생각
✔️ 출력 결과를 머릿속에서 한 번 해석해야 함
'컴퓨터 > 프로그래머스' 카테고리의 다른 글
| [Java] 프로그래머스 코딩테스트 연습 / 문자열 붙여서 출력하기 (1) | 2026.01.17 |
|---|---|
| [Java] 프로그래머스 코딩테스트 연습 / 덧셈식 출력하기 (0) | 2026.01.17 |
| [Java] 프로그래머스 코딩테스트 연습 / 대소문자 바꿔서 출력하기 (0) | 2026.01.16 |
| [Java] 프로그래머스 코딩테스트 연습 / 문자열 반복해서 출력하기 (0) | 2026.01.15 |
| [Java] 프로그래머스 코딩테스트 연습 / a와 b 출력하기 (0) | 2026.01.13 |