프로그래밍/코딩 테스트 연습

[백준] 10172번 : 개 (1단계) (C++)

w_w 2024. 1. 6. 13:39
 

10172번: 개

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

www.acmicpc.net

 


 

문제

 

 

 


 

 

해석

 

cout 출력 스트림 객체로 예제를 그대로 출력합니다.

 

 

 

 

 

 

풀이

 

이전에 풀었던 고양이문제와 같은 형식입니다.

 

고양이 문제 : https://whitecode2718.tistory.com/52

 

[백준] 10171번 : 고양이 (1단계) (C++)

https://www.acmicpc.net/problem/10171 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net 문제 해석 cout 출력 스트림 객체로 예제를 그대로 출력합니다. 풀이 cout

whitecode2718.tistory.com

 

연산기호인 \ / | 와 출력 타입을 구분해 주는 기호인 ' " 앞에 \ (역슬래시)만 붙이면 해결할 수 있는 간단한 문제입니다.

 

걸리는 게 있다면 ^ 나  } `같은 특수문자 앞에서 슬래시를 붙여야 될 것 같지만, 이러한 기호는 연산기호도 출력 타입 구분 기호도 아니기 때문에 슬래시를 붙일 필요가 없고, 슬래시를 붙여도 되는 기호인지 아닌 기호인지 헷갈리다면, 직접 출력해 보면 됩니다.

 

#include<iostream>
using namespace std;

int main() {
    cout << "\|\\_\/\|" << endl << "\|q p\|   \/}" << endl << "( 0 )\"\"\"\\" << endl << "\|\"^\"`    \|" << endl << "\|\|_\/=\\\\__\|";

}

 

 


 

정리

 

이전에 풀었던 고양이 문제처럼 연산기호를 출력을 연습하는 문제입니다.

 

하지만  ^ 나 }처럼 역슬래시를 붙여야 하는지 아닌지를 구분하기 어려울 수 있는데 직접 하나씩 출력이 되는지 확인하거나 연산기호나 문자열을 구분하는 기호가 아닌 특수문자라는 점을 이용해 구분할 수 있습니다.