본문 바로가기
알고리즘/백준 BOJ

[ BOJ/C++] 10171 고양이, 10172 개

by 왹져박사 2023. 7. 25.
728x90

 

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

 

10171번: 고양이

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

www.acmicpc.net

\    /\
 )  ( ')
(  /  )
 \(__)|

위와 같은 출력을 요구하는 문제이다. 

하지만, 그대로 출력하려 하면 오류가 난다. 바로 \ 때문이다. 

https://learn.microsoft.com/ko-kr/cpp/c-language/escape-sequences?view=msvc-170 

 

이스케이프 시퀀스

자세한 정보: 이스케이프 시퀀스

learn.microsoft.com

이러한 이스케이프 시퀀스 때문에 \ 뒤에 문자가 오지 않으면 에러로 인식한다. 

이러한 경우에 \를 출력하려면 두 번 입력하면 된다. \\

 

다음으로 중요한 포인트는 줄바꿈이다. 위와 같은 형태로 모두 출력한다면 한 줄에 모두 표시될 것이다. 

이스케이프 시퀀스의 줄바꿈 \n을 줄의 마지막에 붙여준다. 

#include <iostream>

int main(int argc, char const* argv[])
{
	std::cout << "\\    /\\\n";
	std::cout << " )  ( ')\n";
	std::cout << "(  /  )\n";
	std::cout << " \\(__)|\n";

	return 0;
}

 

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

 

10172번: 개

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

www.acmicpc.net

이 문제도 거의 같은 형태이다. 

추가된 부분은, "의 출력. 위와 마찬가지로 \"로 출력이 가능하다. \나"와 같이 특수 기능을 가진 기호들은 \을 앞에 붙여 출력이 가능하다. 

 

#include <iostream>

int main(int argc, char const* argv[])
{
	std::cout << "|\\_/|\n";
	std::cout << "|q p|   /}\n";
	std::cout << "( 0 )\"\"\"\\\n";
	std::cout << "|\"^\"`    |\n";
	std::cout << "||_/=\\\\__|\n";

	return 0;
}

 

728x90