개
문제는 다음과 같습니다.
이전 문제 고양이 문제와 같이 그대로 출력하는 문제입니다.
좀 더 자세하게 알아보겠습니다.
파이썬에서는 문자열을 정의하는 방법이 여러가지가 잇습니다.
저희가 흔히 알고 있는 일반 문자열 ( Single/Double Quotes)
가장 기본적인 문자열 정의 방식입니다. 즉 작은따옴표' 나 큰따옴표"를 사용하여 문자열을 정의할 수 있습니다.
특징으로는 \n \t 탈출문자가 일반적으로 처리 됩니다. 하지만 이번 문제처럼 상황에 따라서 탈출 문자를 그대로 출력하고 싶을 때 r ' ', r''' ''' 를 사용하면 됩니다.
Raw 문자열
문자열 앞에 r또는 R을 붙이면 Raw문자열이 됩니다. 이는 이스케이프 문자를 무시하고 문자열을 그대로 처리하는 방식입니다.
흔히 저희가 어떤 코드를 작성할 때 markdown , html, code, raw 가 있는데 이 때 이 raw가 탈출 문자에 영향을 받지 않는 단순
텍스트 형식이라고 생각하시면 됩니다.
멀티라인 문자열 ( Triple Quotes)
세 개의 작은따옴표''' 혹은 큰따옴표""" 를 사용하여 여러 줄의 문자열을 정의 할 수 있습니다.
하지만 이스케이프 문자는 Raw와 달리 처리 되지만 긴 문자열이나 여러줄의 문자열을 정의할 때 사용됩니다.
이번 문제는 멀티라인 문자열과 Raw문자열 두개의 특징 모두 필요하므로 Raw문자열 중 멀티라인 문자열 특징을 가지고 있는 r ''' '''을 사용하여 문제를 접근하시면 됩니다. 다음은 제시된 저의 코드입니다.
print(r'''|\_/|
|q p| /}
( 0 )"""\
|"^"` |
||_/=\\__|''')
다음으로는 정답 비율을 보고 분석해보겠습니다.
정답 비율은 약 42% 매우 저조한 편이라고 생각합니다. 이전 문제와 같이 아직 Raw string 을 접하지 못 하여 직접 print() 여러줄을 사용하여 문제를 풀이하여서 오답을 유발했을 것이라고 생각합니다.
아래는 다른 사람의 Python 풀이 코드입니다.
제가 생각한대로 직접 여러 print() 사용하여 해결하려고 했지만 공백이 완전히 떨어져야 정답 처리이기 때문에 오답처리가 된 것을 알 수 있습니다. 이런 식으로 문제를 해결하게 되면 탈출 문자를 처리 하는데 세세하게 가능하겠지만, 이런 풀이보다도 다양한 방식을 알아야 한다고 생각합니다.
지금까지 백준 단계별로 풀어보기 1단계를 맞췄습니다. 다음 게시물은 2단게로 보겠습니다. :)
'BaekJoon Reivew' 카테고리의 다른 글
단계별로 풀어보기 백준_9498번 (0) | 2025.02.03 |
---|---|
단계별로 풀어보기 백준_1330번 (1) | 2025.02.03 |
단계별로 풀어보기 백준_10171번 (0) | 2025.02.03 |
단계별로 풀어보기 백준_11382번 (1) | 2025.02.03 |
단계별로 풀어보기 백준_2588번 (0) | 2025.02.03 |