본문 바로가기

예전글/BOJ 단계별로 풀어보기

[백준][1단계][10172번] 개 (Java) : 특수문자 출력, 개행 문자


 * 오류 지적, 오타, 내용 개선 댓글은 대환영입니다! 저도 초보니까요.


 안녕하세요, 갓벨입니다. 이번에는 백준 온라인 저지 10172번, '개'로 찾아뵈었습니다.


 특수문자를 출력하려다 보면 간혹 제대로 출력하지 못하는 특수문자가 있습니다. 대표적인 경우가 "(큰따옴표)같은 녀석들입니다. 가령 " 하나를 출력하기 위해 다음과 같이 입력했다고 해 봅시다.

System.out.println(""");


 실행해 보면 정상작동 할 것 같지만... 오류가 납니다. 그러면 어떻게 해야 출력할 수 있을까요?

 바로, \(역슬래시, 원화)가 그 답입니다. 입력하고자 하는 문자 앞에 \를 입력하면 문자로 인식해서 출력할 수 있습니다.

System.out.println("\"");

 그러니까 \\를 출력하려면 \\\\를 출력하면 되는 거죠.

 그리고 한 가지 더, System.out.println을 이용하면 문자를 출력한 뒤 출력할 수 있습니다. 그런데, 한 println 안에서 개행까지 할 수는 없을까요? 없었으면 말 하지 않았겠죠 ㅎㅎ 개행 문자는 \n입니다. 역슬래시와 n을 같이 입력하면, 거기서 개행을 하겠다는 뜻입니다. 


문제


  아래 예제와 같이 개를 출력하시오.

입력

 없음. 어째 점점 간단해진다

출력

 개를 출력한다.

예제 입력



예제 출력

|\_/|
|q p|   /}
( 0 )"""\
|"^"`    |
||_/=\\__|

풀이


 상술했듯 문자로 인식되지 않는 특수문자 앞에 \를 붙이면 정상적으로 출력할 수 있다. 위의 개 모양에서 제대로 인식되지 않는 녀석들은 \(역슬래시), "(큰따옴표)입니다. 얘네 앞에다가 \를 하나씩 붙여주면 됩니다.

public class Main { public static void main(String args[]) { System.out.println( "|\\_/|\n" + "|q p| /}\n" + "( 0 )\"\"\"\\\n" + "|\"^\"` |\n" + "||_/=\\\\__|"); } }

 이렇게 말이죠. 참고로 제사 출력할 때 사용한 방법은 한 줄마다 다른 문자열로 분리해서 오른쪽에 + 로 이어 붙인 겁니다. +로 이어진 문자열은 그냥 이어지게 됩니다. "abc" + "def" -> "abcdef"로 출력되는 거죠.
 그럼 다음 문제에서 봬요!