BOJ | 10171번

Python 풀이

print("\    /\\\n )  ( ')\n(  /  )\n \(__)|")
Escape Code설명
\n줄 바꿈
\ttab (indent)
\rCarriage return
\\\출력
\' or \"' or " 출력
>>> print("Hello\nWorld!")
Hello
World!

>>> print("Hello\tWorld!")
Hello   World!

>>> print("Hello\rWorld!")
World!
  • \n은 표준 입력에서 줄을 바꿔서 출력해준다.
  • \t는 표준 입력에서 indent(들여쓰기)를 해준다. 한글 문서에서 Tab키를 누르는 것과 같음.
  • \r는 Carriage return이라고도 부르는데 커서를 가장 앞으로 보낸다.
    즉, print("Hello World!")Hello World!를 출력하지만
    print("Hello\rWorld!") 는 문자열을 왼쪽에서부터 출력하면서
    Hello까지 출력을 하지만 캐리지 리턴(\r)를 만나면서 커서가 Hello의 H 앞으로 이동하게 된다. 따라서 뒤에오는 World!가 덮여서 출력된다.
  • \\\를 출력하게 해준다.
  • \', \"\\와 마찬가지로 ',"를 출력하게 해준다. ',"만 사용했을 경우는 출력이 안된다! 문자열을 감싸는 아스키 코드로 인식해버리기 때문이다.

C++ 풀이

#include <iostream>

using namespace std;

int main()
{
	cout << "\\    /\\\n )  ( ')\n(  /  )\n \\(__)|";
}

파이썬 풀이와 비슷하지만 파이썬에서는 \(역슬래쉬)뒤에 Escape code가 아니면 그냥 출력해준다.
\t, \r, \n, \\, \', \", \b 등 Escape code가 인식되면 그 코드를 처리하지만 \( 와 같은 경우는 그냥 출력한다.

그러나 C++에서는 그냥 \가 나오면 \\로 출력하는 것이 아닌 이상 \를 출력하지 않는다. 따라서 C++ 풀이에서 \를 출력해야 하는 부분에는 무조건 \\를 해주었다.

좋은 웹페이지 즐겨찾기