아래 예제와 같이 고양이를 출력하시오.
없음.
고양이를 출력한다.
\ /\
) ( ')
( / )
\(__)|
특수문자를 출력하는 방법에 대해서만 알면 풀 수 있고 그 외에 논리적인 접근은 필요없는 문제
그러나 출력하는 방법을 모르기에 정답지 확인
print(r"\ /\\")
print(r" ) ( ')")
print(r"( / )")
print(r" \(__)|")
여기서 처음에 이해 안된건 백슬래시를 보여주려고 첫번째 프린트엔 백슬래시가 2개가 사용되는데 다른곳에 있는 백슬래시에선 그런 현상이 없다는 것이다.
그 원인으로는 백슬래시 다음에 특정 제어 문자나 특수 문자를 출력할 때 이스케이프 문자라고해서 백슬래시로 시작이 되는데,
첫번째 백슬래시 다음엔 공백, 뒤쪽 백슬래시 다음엔 큰빠옴표가 들어가 있기 때문에, 두번째 백슬래시만 이스케이프 문자로 인식이 되는 상황,
그리고 r""같은 경우는 파이썬에서 r 접두사를 사용하면 이스케이프 문자로 해석하지 않고, 있는 그대로 출력 시키는 용도라고 보면 된다
근데 저게 틀린 이유가 발생했는데,
내 vs code에선 백슬래시를 2개를 첫줄에 넣어야 코드가 완성되었는데, 백준에선 백슬래시2개로 인지하고 있었다.
그래서 그걸 해결하기 위해선 좀 더 간단히 띄어쓰기로 해결하였다.
print(r"\ /\ ")
print(r" ) ( ')")
print(r"( / )")
print(r" \(__)|")