BOJ | 10171번

Python 풀이
print("\ /\\\n ) ( ')\n( / )\n \(__)|")
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!가 덮여서 출력된다.\\는\를 출력하게 해준다.\',\"도\\와 마찬가지로',"를 출력하게 해준다.',"만 사용했을 경우는 출력이 안된다! 문자열을 감싸는 아스키 코드로 인식해버리기 때문이다.
C++ 풀이
#include <iostream>
using namespace std;
int main()
{
cout << "\\ /\\\n ) ( ')\n( / )\n \\(__)|";
}
#include <iostream>
using namespace std;
int main()
{
cout << "\\ /\\\n ) ( ')\n( / )\n \\(__)|";
}
파이썬 풀이와 비슷하지만 파이썬에서는 \(역슬래쉬)뒤에 Escape code가 아니면 그냥 출력해준다.
\t, \r, \n, \\, \', \", \b 등 Escape code가 인식되면 그 코드를 처리하지만 \( 와 같은 경우는 그냥 출력한다.
그러나 C++에서는 그냥 \가 나오면 \\로 출력하는 것이 아닌 이상 \를 출력하지 않는다. 따라서 C++ 풀이에서 \를 출력해야 하는 부분에는 무조건 \\를 해주었다.
Author And Source
이 문제에 관하여(BOJ | 10171번), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hrpp1300/BOJ-10171번저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)