300x250
문제.
다음과 같이 새싹을 출력하라.
,r'"7
r`-_ ,' ,/
\. ". L_r'
`~\/
|
|
문제 보고 '너무 쉬운거 아냐' 했었다.
막상 print() 안에 한 줄씩 문자열 넣어서 출력해보니 오류가 떴었다.
찾아보니
문자열 작성하는데 사용한 따옴표를 출력하는 데에서
문제가 발생한 것이었다.
따옴표 출력하는 방법을 알아내서
다음과 같이 코드를 작성할 수 있었다.
풀이.
print(' ,r\'"7')
print('r`-_ ,\' ,/')
print(' \. ". L_r\'')
print(' `~\/')
print(' |')
print(' |')
숏코딩.
백준 사이트 사용해 본 사람들은 알 수도 있을거 같다.
문제 출제 사이트에 '숏코딩' 이라고 해서
얼마나 짧은 코드로 문제 풀었는지 나열해 놓은 페이지가 있다.
위에 풀이 해 놓은 코드 길이는 121B 가 나왔다.
print만 하는 문제인데 이거보다 짧을 수 있나 숏코딩 들어가 봤는데
같은 python으로 푼 가장 짧은 코드길이가 72B가 나왔다.
어떻게 짠 코드인지 들여다봤다.
print(' '*9+''',r'"7
r`-_ ,' ,/
\. ". L_r'
`~\/'''+'\n |'*2)
와.. 이렇게도 코드를 짤 수 있다는게 새삼 신기했다.
print를 한 번만 썼고,
아래 줄기인 | 표시는 문자열 *2로 표현해서
최대한 코드길이 줄이려고 의도한게 보였다.
print도 조금만 생각하면 다양한게 표현할 수 있다는걸 느낀 순간이다.