티스토리 뷰
[Python] 백준 알고리즘 온라인 저지 10172번 : 개
Python3 코드
print("|\_/|")
print("|q p| /}")
print('( 0 )"""\\') # \'앞에 \을 붙여준다.
print('|"^"` |')
print("||_/=\\\__|") # \\ 앞에 \을 하나 더 붙여준다.
Python3 코드 풀이
1. 코드 작성에 대한 전체적인 내용 정리
이 문제는 백준 온라인 저지 단계별 문제에서 앞 단계인 고양이 문제와 주의할 점이 동일하다. 파이썬에서 백 슬래시를 원활히 사용할 수 있는지를 알아보는 문제이다. 개 모양의 문자를 한줄한줄 print 함수로 출력하다 보면 컴파일 에러가 발생할 것이다. 이유는 파이썬에서 백 슬러시 뒤에 조합하는 문자에 따라 이스케이프 문자로 인식을 하게 되기 때문이다. 위 Python3 코드에서 셋째 줄과 마지막 줄에서 백 슬러시를 하나씩 더 붙여서 코드를 풀었는데 이것이 백 슬러시를 이스케이프로 인식하지 못하도록 하기 위한 방법이다. 그럼 추가한 백 슬러시는 이스케이프를 방지하는 기능만 하게 되기 때문에 문자열로서의 역할은 하지 않아서 출력 값에는 해당 백 슬래시는 출력이 되지 않게 된다.
이스케이프 문자는 백 슬러시 뒤에 문자를 붙여서 사용하게 되고 각 문자에 따라 다른 기능을 한다. 백 슬러시 뒤에 붙이는 문자의 종류에는 n, t, b, 000, ', " 등이 있다. 각 문자에 따라 다른 기능을 간략히 설명하면 \n (줄 바꿈),\t (탭),\b (백스페이스),\\ (백 슬래시),\' (작은따옴표),\" (큰따옴표) 이다. 기능이 복잡하게 작동하는 문자는 아니어서 간략한 설명으로도 될 거라고 생각하지만 이스케이프 문자에 대한 사용 예시는 이전 포스팅에 남겨두었다. 혹시 필요하신 분들을 위해 이전 포스팅 링크를 걸어둔다. ▶이스케이프 문자 사용 예시
2. Python3 코드에서 주의할 내용 - 위 코드에서 3번째 줄 코드를 본다.
# 출력해야 하는 모양
( 0 )"""\
# 코드작성
print('( 0 )"""\\') # \'앞에 \을 붙여준다.
백 슬러시(\)와 따옴표를 붙여 사용하면\뒤 따옴표가 문자열을 만드는 기호로 인식되지 못한다. 이스케이프로 인식되기 때문이다. 이것을 방지하기 위해서 앞에 백 슬래시를 한번 더 붙여준 것이다.
3. 마지막 줄 코드를 작성한다.
# 출력해야 하는 모양
||_/=\\__|
# 코드작성
print("||_/=\\\__|") # \\ 앞에 \을 하나 더 붙여준다.
이번엔 이스케이프 문자 중에서 백 슬러시(\) 두 개가 있으면 하나의 백 슬러시만 출력되는 성질을 유의하여 작성하였다. 백 슬래시를 두 개 출력하기 위해선 백 슬래시를 하나 더 붙여주게 되면 백 슬래시가 두 개가 출력된다.
4. 백 슬러시(\) 두 개가 붙인 코드만 따로 떼어서 출력한 예시
print("\\")
\ #출력값
print("\\\")
\\ #출력값
'파이썬 스킬업 > 백준 알고리즘 연습' 카테고리의 다른 글
백준 1001번 [파이썬 알고리즘] A-B (0) | 2020.07.01 |
---|---|
백준 1000번 [파이썬 알고리즘] A+B (0) | 2020.06.30 |
백준 10171번 [파이썬 알고리즘] 고양이 (0) | 2020.06.29 |