[파이썬 / Algorithm] 프로그래머스 연습문제 level1 - 직사각형 별찍기

문제

https://programmers.co.kr/learn/courses/30/lessons/12969?language=python3

풀이

정수 input 두 개를 받아 활용할 수 있는지를 물어보는 문제인 것 같았다! 딱 보자마자 * 을 이용하여 출력하는 것이길래 아 반복문을 써서 하는 문제구나 하고 호로록 풀었다. 😤

a, b = map(int, input().strip().split(' '))
for _ in range(b):
	for _ in range(a):
    		print('*', end=' ')
      	print('')

이것 말고도 더 간단하게 코드를 작성할 수 있나? 하는 생각이 들어서 다른 사람들의 코드를 보니 문자열의 연산을 활용하여 출력한 아주 신박한 아이디어를 발견했다 !! 😧

파이썬의 활용성 높은 특성을 이용하지 못한 나의 실수,,

반복되는 문자는 곱하기 연산을 이용하여 간단하게 표현이 가능하다는 것을 또 다시 상기시키고 지나갈 수 있었던 시간이었다.

반복되는 실수

예전부터 반복문을 사용하여 문자열 관련 출력할 때 한줄 내리고 싶어서 '\n'을 사용하는 실수를 자꾸 한다.

위의 코드 중 마지막 줄에 print('\n') 대신에 print('') 를 한 이유는 print 함수 자체에 마지막 한줄 내림이 있기 때문이다. 이제는 까먹지 말자 !! 😅

깔끔한 코드

a, b = map(int, input().strip().split(' '))
print(('*'*a + '\n')*b)

좋은 웹페이지 즐겨찾기