IT/BaekJoon

[백준/C++] 10172번 개/강아지 출력

Buang 2022. 7. 11. 18:30
반응형

1.문제

 

 

위의 사진처럼 강아지를 출력하시오.

 

https://www.acmicpc.net/problem/10172

 

10172번: 개

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

www.acmicpc.net


2. 풀이 

 

이 문제를 풀기 전에 한 가지 알아야 할 부분이 있다.

 

역슬래시(\), 큰따옴표("), 작은 따옴표(')는 각각 기능을 가지고 있다.

역슬래시는 줄바꿈(Enter) 기능,

큰따옴표는 문자열(문자의 조합or 단어: banana) 인식 기능,

작은 따옴표는 문자(a, b, c) 인식 기능이 있다.

 

각각 특정한 기능을 가지고 있어서 역슬래시, 큰따옴표, 작은 따옴표를

문자로서 출력하고자 할 땐 역슬래시 + (문자) 형태로 작성해줘야 한다.

 

이게 무슨 소리인가 하면

일단 잘못된 코드 예시를 통해서 보여주도록 하겠다.

 

# include <stdio.h>

int main(){
    printf("\");  //역슬래시 출력 안됨
    printf(""");  //큰 따옴표 출력 안됨
    printf("'");  //작은 따옴표 출력 안됨
    
	return 0;
	
}

 

위의 코드는 잘못된 예시로 이 상태로 컴파일을 하면 오류가 뜬다.

역슬래시를 앞에 추가하지 않았기 때문이다.

 

위에서 역슬래시, 큰따옴표, 작은따옴표를 문자로 출력하고자 할 땐

역슬래시(\) + 문자 형태로 작성해줘야 한다고 했다. 즉

 

역슬래시를 출력하려면? : \\

큰따옴표를 출력하려면? : \"

작은따옴표를 출력하려면? : \'

 

이렇게 작성해줘야 한다.

이렇게만 보니 이해가 잘 안될 수도 있으니

아래 예시로 적은 코드를 같이 살펴보자.

 

# include <stdio.h>

int main(){
    printf("\\");  //역슬래시 출력 
    printf("\"");  //큰 따옴표 출력 
    printf("\'");  //작은 따옴표 출력 
    
	return 0;
	
}

 

역슬래시는 원화 기호로 나타나기도 하는데 별 문제없다.

아무튼 위의 코드를 작성하고 컴파일을 하면 아래 사진처럼 결과가 나온다.

 

 

차례대로 역슬래시, 큰따옴표, 작은따옴표가 출력되는 것을 확인할 수 있다.

 

 

이를 토대로 코드를 짜보자.


3. 코드

# include <stdio.h>

int main(){
    printf("|\\_/|\n");  
    printf("|q p|   /}\n"); 
    printf("( 0 )\"\"\"\\\n"); 
    printf("|\"^\"`    |\n");
    printf("||_/=\\\\__|\n");
    
	return 0;
	
}

 

위에처럼 코드를 짜면 된다.

역슬래시 앞, 큰 따옴표 앞에 역슬래시를 붙여주기만 하면 된다.

 

맨 마지막 부분마다 써준 \n은 줄바꿈(Enter)를 위해 써준거다.

\n을 작성해주지 않으면 줄바꿈없이 한 줄로 길게 출력된다.

 

 

실행시키면 위의 화면이 나온다.

 

반응형