본문 바로가기
프로그래밍 및 개발/알고리즘 문제풀이

[백준] 25083. 새싹 (Python) - 알고리즘 문제풀이

by typenine9 2022. 11. 3.
300x250

문제.

다음과 같이 새싹을 출력하라.

 

         ,r'"7
r`-_   ,'  ,/
 \. ". L_r'
   `~\/
      |
      |

 

 

 

25083번: 새싹

아래 예제와 같이 새싹을 출력하시오.

www.acmicpc.net

 

문제 보고 '너무 쉬운거 아냐' 했었다.

막상 print() 안에 한 줄씩 문자열 넣어서 출력해보니 오류가 떴었다.

 

찾아보니

문자열 작성하는데 사용한 따옴표를 출력하는 데에서 

문제가 발생한 것이었다.

 

 

[python] 작은 따옴표, 큰 따옴표 출력하기

작은 따옴표 출력하려면 print(' \' ') 따옴표 앞에 역슬래시(Back slash)를 붙이면 된다. 작은 따옴표 뿐만 아니라 큰 따옴표 출력하고 싶을때에도 동일하게 사용하면 된다. print(" \" ") 정리하자면 문

typenine9.tistory.com

 

따옴표 출력하는 방법을 알아내서

 

다음과 같이 코드를 작성할 수 있었다.

 

풀이.

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도 조금만 생각하면 다양한게 표현할 수 있다는걸 느낀 순간이다.

 

<