티스토리 뷰

 

[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("\\\")
\\	#출력값

 

반응형
댓글
반응형