티스토리 뷰
[Python] 백준 온라인 저지 10171번: 고양이
Python3 코드
print("\ /\\") # \" 앞에 \를 붙여준다.
print(" ) ( ')")
print("( / )")
print(" \(__)|")
고양이 모양을 한 줄씩 프린트 함수를 이용하여 출력하였다. 맨 윗줄에서 백 슬러시를 추가하였다. 자세한 내용은 아래의 코드 풀이에서 설명한다.
Python3 코드 풀이
1. 코드 작성에 대한 전체적인 내용 정리
이 문제는 파이썬에서 백 슬래시를 원활히 사용할 수 있는지를 알아보는 문제이다. 파이썬에서는 백 슬러시를 조합해서 이스케이프 문자를 작성할 수 있다. 그래서 백 슬래시 뒤에 쓰인 문자가 이스케이프 조합이 되어버리면 백 슬래시와 조합된 문자를 문자열로 인식하지 못하게 되는 경우가 생긴다.
print("\ /\\") # \" 앞에 \를 붙여준다.
위에 코드에서 맨 윗줄을 보게 되면 백 슬래시 뒤에 따옴표가 붙어있다. 이 경우가 이스케이프 문자로 조합된 경우이다. 백 슬러시(\)와 따옴표를 같이 사용하면 따옴표가 문자열을 만드는 기호로 인식되지 못하는 점을 주의해서 문제를 풀어야 한다. 백준 온라인 저지 단계별 문제풀이에서 해당 문제의 다음 문제인 '개'를 풀 때도 마찬가지로 이 백 슬러시를 주의해서 문제를 풀어야 한다.
2. 이스케이프 문자
이스케이프 문자란 백 슬러시 바로 뒤에 문자를 조합해서 사용하는 것을 말한다. 이 조합하는 문자에 따라서 이스케이프 문자가 나뉘게 되고 각각 다른 기능을 하게 된다. 이스케이프의 종류에는 \n , \t , \b , \\ , \' , \" 등이 있다. 각각의 기능을 간략히 설명한다.
\n (줄 바꿈),\t (탭),\b (백스페이스),\\ (백 슬래시),\' (작은따옴표), \" (큰따옴표)
** 이스케이프 문자에 대해서는 이전에 각 이스케이프 문자가 사용되는 예시를 포스팅을 한 적이 있다. 혹시 필요하실 분들을 위해 해당 포스팅의 링크를 걸어둔다. ▶ 이스케이프 문자 포스팅
이런 여러 종류의 이스케이프 문자 중에서 고양이 문제는 따옴표 기능을 하는 \" 이스케이프 문자에 대한 이해가 필요하다. 파이썬에서는 문자열을 만들 때 작은따옴표나 큰따옴표를 이용해서 문자열을 생성한다. 그럴 때 문자열 안에 따옴표를 포함한 문자열을 생성하고 싶을 때가 있는데 작은따옴표를 포함하고 싶다면 문자열 생성을 큰따옴표로 하고 문자열 안에 큰따옴표를 포함하고 싶다면 문자열 생성은 작은따옴표로 하면 되겠지만 짧은 문장이 아닌 경우는 그렇게 생각하면서 문자열을 생성하기가 힘들 수 있다. 그럴 때 이 이스케이프 문자를 유용하게 사용할 수 있다. 아래에서는 문자열을 생성하는 큰따옴표 안에서 큰따옴표를 포함하고 작은따옴표 안에서 작은따옴표를 포함하는 코드를 예로 들어 본다.
print("Hello world")
Hello world # 출력값
print("\"Hello world\"")
"Hello world" # 출력값
print('Hello world')
Hello world # 출력값
print('\'Hello world\'')
'Hello world' # 출력값
'파이썬 스킬업 > 백준 알고리즘 연습' 카테고리의 다른 글
백준 1001번 [파이썬 알고리즘] A-B (0) | 2020.07.01 |
---|---|
백준 1000번 [파이썬 알고리즘] A+B (0) | 2020.06.30 |
백준 10172번 [파이썬 알고리즘] 개 (0) | 2020.06.29 |