
✅ 문제
개 출력하기
이스케이프 코드(Escape Sequance)를 이해하기 위한 문제
📥 입력
없음
📥 출력
개를 출력한다
💡 풀이
이 문제는 고양이 문제랑 매우 유사하다.
이스케이프 코드 정리 ▼
✅ 1. System 클래스(표준 입출력)
System.out.println("|\\_/|\r\n"
+ "|q p| /}\r\n"
+ "( 0 )\"\"\"\\\r\n"
+ "|\"^\"` |\r\n"
+ "||_/=\\\\__|");
가독성을 위해 \r\n을 지워 주고
각 줄마다 System.out.println("") 안에 코드를 집어 넣어 준다.
public class Main {
public static void main(String[] args) {
System.out.println("|\\_/|");
System.out.println("|q p| /}");
System.out.println("( 0 )\"\"\"\\");
System.out.println("|\"^\"` |");
System.out.println("||_/=\\\\__|");
}
}
✅ 2. StringBuilder 객체를 이용한 풀이
StringBuilder 는 여러 문자열을 append (확장) 시켜준다.
그래서 행이 여러개 있더라도 실제로는 sb에 하나의 문자열로 연결된다.
따라서 각 줄 끝에 \n를 써서 개행해줘야 한다.
(개행 메소드가 없다.)
public class Main {
public static void main(String[] args){
StringBuilder sb = new StringBuilder();
sb.append("|\\_/|\n");
sb.append("|q p| /}\n");
sb.append("( 0 )\"\"\"\\\n");
sb.append("|\"^\"` |\n");
sb.append("||_/=\\\\__|\n");
System.out.println(sb);
}
}
✅ 3. BufferedWriter 객체를 이용한 풀이
개행 메소드가 없기 때문에 각 write마다 \n를 써서 개행해줘야 한다.
또는 각 줄마다 bw.newLine(); 메서드를 써서 개행을 해 줘도 된다.
모든 과정이 끝난 후에는 bw.flush()로 스트림에 있는 데이터를 비워주고, bw.close()로 스트림을 닫는다.
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
bw.write("|\\_/|");
bw.newLine();
bw.write("|q p| /}");
bw.newLine();
bw.write("( 0 )\"\"\"\\");
bw.newLine();
bw.write("|\"^\"` |");
bw.newLine();
bw.write("||_/=\\\\__|");
bw.flush();
bw.close();
}
}
'Algorithm > BaekJoon' 카테고리의 다른 글
[백준] 9498번 시험성적 - 자바 / java (0) | 2024.04.04 |
---|---|
[백준] 1330번 두 수 비교하기 - 자바 / java (2) | 2024.04.02 |
[백준] 10171번 고양이 - 자바/java (0) | 2024.04.02 |
[백준] 11719번 그대로 출력하기2 - 자바/java (0) | 2024.03.28 |
[백준] 11718번 그대로 출력하기 - 파이썬/python3 (0) | 2024.03.28 |

✅ 문제
개 출력하기
이스케이프 코드(Escape Sequance)를 이해하기 위한 문제
📥 입력
없음
📥 출력
개를 출력한다
💡 풀이
이 문제는 고양이 문제랑 매우 유사하다.
이스케이프 코드 정리 ▼
✅ 1. System 클래스(표준 입출력)
System.out.println("|\\_/|\r\n"
+ "|q p| /}\r\n"
+ "( 0 )\"\"\"\\\r\n"
+ "|\"^\"` |\r\n"
+ "||_/=\\\\__|");
가독성을 위해 \r\n을 지워 주고
각 줄마다 System.out.println("") 안에 코드를 집어 넣어 준다.
public class Main {
public static void main(String[] args) {
System.out.println("|\\_/|");
System.out.println("|q p| /}");
System.out.println("( 0 )\"\"\"\\");
System.out.println("|\"^\"` |");
System.out.println("||_/=\\\\__|");
}
}
✅ 2. StringBuilder 객체를 이용한 풀이
StringBuilder 는 여러 문자열을 append (확장) 시켜준다.
그래서 행이 여러개 있더라도 실제로는 sb에 하나의 문자열로 연결된다.
따라서 각 줄 끝에 \n를 써서 개행해줘야 한다.
(개행 메소드가 없다.)
public class Main {
public static void main(String[] args){
StringBuilder sb = new StringBuilder();
sb.append("|\\_/|\n");
sb.append("|q p| /}\n");
sb.append("( 0 )\"\"\"\\\n");
sb.append("|\"^\"` |\n");
sb.append("||_/=\\\\__|\n");
System.out.println(sb);
}
}
✅ 3. BufferedWriter 객체를 이용한 풀이
개행 메소드가 없기 때문에 각 write마다 \n를 써서 개행해줘야 한다.
또는 각 줄마다 bw.newLine(); 메서드를 써서 개행을 해 줘도 된다.
모든 과정이 끝난 후에는 bw.flush()로 스트림에 있는 데이터를 비워주고, bw.close()로 스트림을 닫는다.
import java.io.BufferedWriter; import java.io.OutputStreamWriter; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); bw.write("|\\_/|"); bw.newLine(); bw.write("|q p| /}"); bw.newLine(); bw.write("( 0 )\"\"\"\\"); bw.newLine(); bw.write("|\"^\"` |"); bw.newLine(); bw.write("||_/=\\\\__|"); bw.flush(); bw.close(); } }
'Algorithm > BaekJoon' 카테고리의 다른 글
[백준] 9498번 시험성적 - 자바 / java (0) | 2024.04.04 |
---|---|
[백준] 1330번 두 수 비교하기 - 자바 / java (2) | 2024.04.02 |
[백준] 10171번 고양이 - 자바/java (0) | 2024.04.02 |
[백준] 11719번 그대로 출력하기2 - 자바/java (0) | 2024.03.28 |
[백준] 11718번 그대로 출력하기 - 파이썬/python3 (0) | 2024.03.28 |