본문 바로가기
Algorithm/Baekjoon

[백준] 10171번 : Cats - Java

by unknownomad 2021. 12. 16.

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)
  • 이스케이프 시퀀스 = 백슬래시(\) + 문자 조합

 


출처 : https://st-lab.tistory.com/8

'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

댓글