Written by
Misun
on
on
[Java/백준]10171번: 고양이
문제
아래 예제와 같이 고양이를 출력하시오.
예제 출력
\ /\
) ( ')
( / )
\(__)|
알아야 할 개념
- 이스케이프 시퀀스(Escape Sequence)
자바에서 몇몇 문자는 단독으로 써서 출력할 수 없다. 대표적으로 백슬래시()와 큰 따옴표(“)가 있다.
이런 문자들을 출력하기 위해 사용하는 방법이 이스케이프 시퀀스인데, 백슬래시() + 문자 로 쓰면 된다.
문제풀이
첫번째 방법: System 클래스 사용
class Main {
public static void main(String[] args) {
System.out.println("\\ /\\");
System.out.println(" ) ( ')");
System.out.println("( / )");
System.out.println(" \\(__)|");
}
}
두번째 방법: BufferWriter 사용
class Main {
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
bw.write("\\ /\\");
bw.newLine();
bw.write(") ( ')");
bw.newLine();
bw.write("( / )");
bw.newLine();
bw.write("\\(__)|");
bw.newLine();
bw.flush();
bw.close();
}
}
세번째 방법: StringBuilder 사용
class Main_10171 {
public static void main(String[] args) throws IOException {
StringBuilder sb = new StringBuilder();
sb.append("\\ /\\\n");
sb.append(") ( ')\n");
sb.append("( / )\n");
sb.append(" \\(__)|\n");
System.out.println(sb);
}
}
StringBuilder는 따로 줄바꾸는 함수가 없기 때문에 \n을 마지막에 붙여줘야 한다.
네번째 방법: StringBuffered 사용
StringBuilder 부분을 StringBuffered로만 바꿔주면 되므로 생략.
Discussion and feedback