본문 바로가기

코딩/백준 BOJ

[백준/C언어] 10172번 - 개

백준 웹사이트 "10172번 - 개" 문제풀이입니다.

언어는 C언어입니다. (제출 언어: C99)

 


문제

 

10172번: 개

문제 아래 예제와 같이 개를 출력하시오. 입력 출력 예제 입력 1 복사 예제 출력 1 복사 |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__|...

www.acmicpc.net


소스 코드

#include <stdio.h>

int main(void) {
    printf("|\\_/|\n"); // '\' 출력을 위해서는 '\\' 입력 
    printf("|q p|   /}\n");
    printf("( 0 )\"\"\"\\\n"); // '"' 출력을 위해서는 '\"' 입력 
    printf("|\"^\"`    |\n");
    printf("||_/=\\\\__|\n");
    return 0;
}

문제 풀이

  10171번 문제와 비슷한 문제입니다. 마찬가지로 역슬래시를 출력할 경우에는 역슬래시 두 개를 연속하여 입력합니다. Line 8과 같이 두 개의 역슬래시를 연속하여 출력할 경우에는, 각각의 역슬래시에 대해 두 개씩 입력해야겠죠? 결과적으로 \\\\ 4개의 역슬래시를 입력해주게 됩니다.

  Line 6와 같이 " 쌍따옴표 역시 앞에 역슬래시를 두어 \"와 같이 입력해주면 됩니다. 출력 명령문 printf(" ~ ");의 시작과 끝에 사용되는 쌍따옴표와 혼동하지 않기 위해서입니다.

  위의 소스 코드를 보면 역슬래시와 쌍따옴표가 많은 탓에 코드가 굉장히 지저분해 보입니다. 그래도 최종 결과는 아래와 같이 깔끔하게 나옵니다.

 

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