print("\ /\\\n ) ( ')\n( / )\n \(__)|")
Escape Code | 설명 |
---|---|
\n | 줄 바꿈 |
\t | tab (indent) |
\r | Carriage 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!
가 덮여서 출력된다.\\
는 \
를 출력하게 해준다. \'
, \"
도 \\
와 마찬가지로 '
,"
를 출력하게 해준다. '
,"
만 사용했을 경우는 출력이 안된다! 문자열을 감싸는 아스키 코드로 인식해버리기 때문이다.#include <iostream> using namespace std; int main() { cout << "\\ /\\\n ) ( ')\n( / )\n \\(__)|"; }
파이썬 풀이와 비슷하지만 파이썬에서는 \(역슬래쉬)뒤에 Escape code가 아니면 그냥 출력해준다.
\t, \r, \n, \\, \', \", \b
등 Escape code가 인식되면 그 코드를 처리하지만 \(
와 같은 경우는 그냥 출력한다.
그러나 C++에서는 그냥 \
가 나오면 \\
로 출력하는 것이 아닌 이상 \
를 출력하지 않는다. 따라서 C++ 풀이에서 \
를 출력해야 하는 부분에는 무조건 \\
를 해주었다.