https://www.acmicpc.net/problem/10171
10171번: 고양이
아래 예제와 같이 고양이를 출력하시오.
www.acmicpc.net
풀이
1. System.out.println
public class Main {
public static void main(String[] args) {
System.out.println("\\ /\\");
System.out.println(" ) ( ')");
System.out.println("( / )");
System.out.println(" \\(__)|");
}
}
2. BufferedWriter
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws Exception {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
bw.write("\\ /\\"); //bw.newLine() 쓰지 않고 각 write마다 \n 붙여도 됨
bw.newLine(); //줄 개행
bw.write(" ) ( ')");
bw.newLine();
bw.write("( / )");
bw.newLine();
bw.write(" \\(__)|");
bw.flush(); //Stream에 들어있는 데이터 비우기
bw.close(); //Stream 종료
}
}
3. StringBuilder
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("\\ /\\\n"); //StringBuilder는 개행 메서드 없음 ➡ \n 추가
sb.append(" ) ( ')\n");
sb.append("( / )\n");
sb.append(" \\(__)|\n");
System.out.println(sb);
}
}
4. StringBuffer
- StringBuilder와 동일
- But multi-thread 이용 안 할 시, StringBuilder보다 더 느린 속도의 StringBuffer를 쓸 필요는 없음
public class Main {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
sb.append("\\ /\\\n");
sb.append(" ) ( ')\n");
sb.append("( / )\n");
sb.append(" \\(__)|\n");
System.out.println(sb);
}
}
정리
- Java에서 백슬래시, 큰 따옴표 등 문자는 단독으로 출력 불가
- 이러한 문자를 출력하기 위한 조합 = 이스케이프 시퀀스(Escape Sequence)
- 이스케이프 시퀀스 = 백슬래시(\) + 문자 조합
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 1001번 : A - B - Java (0) | 2021.12.22 |
---|---|
[백준] 1000번 : A + B - Java (0) | 2021.12.21 |
[백준] 10172번 : Dogs - Java (0) | 2021.12.20 |
[백준] 10718번 : We love kriii - Java (0) | 2021.12.15 |
[백준] 2557번 : Hello World - Java (0) | 2021.12.14 |
댓글