본문 바로가기

Programming Language/Python( 파이썬 )

파이썬 사각형 별 찍기(별 그리기)[코딩 테스트 공부]

반응형

오늘 공부해본 내용은 간단한 파이썬 사각형 별 찍기(별 그리기) 관련한 내용입니다.

문제를 나타내면 

입력을 가로 숫자 먼저 입력하고, 세로 숫자 그 다음 입력하여

*을 사각형 모양으로 출력하는 코딩을 해보는 것입니다.

예를 들어, input에 '5 (space bar) 3' 을 입력하면 ' * ' 별 모양이 가로 5와 세로 3으로 그려지는 것입니다.

즉, 답을 타이핑해보면

*****

*****

*****

이렇게 사각형 모양으로 가로 5개에 한줄에 세로 3개 줄이 나와야하는 것입니다.

 

방법 1

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

첫번째 방법은 input에 strip과 split(쪼개다)을 이용하여 만들어주는 방법입니다. 

split과 strip을 이용하여 우리가 왼쪽 변수에 지정한 a와 b에 그 값을 저장하는 것입니다.

그리고 answer 변수를 지정하여 계산식을 입력해준다. 계산식은 *를 a만큼 곱해주고, 줄 띄어쓰기 엔터 역할을 하는 '\n'을 추가해줍니다.

그 후 그 문장을 세로(b) 만큼 곱해주는 것이다 이것을 진행하면 처음에

방법 1을 진행한 모습. input이 먼저 진행된다.

input 데이터 값이 진행이되고, 여기에 이제 본인이 원하는만큼 숫자를 입력해주어 a와 b를 직접 입력하면 됩니다.

이렇게 5와 5를 각각입력하는 경우

5개의 가로 별 수와 5개의 세로 별 수를 입력하게되면 그만큼 해당하는 *의 수로 값을 출력하게 됩니다.

이렇게 5행 5열의 *을 출력하는 사각형을 출력하게 됩니다. 

방법 2

m, n = map(int, input().split())

for i in range(n):
    print('*'*m)
    print()

방법 2번은 split을 이용하여 이것을  m과 n에 저장하여 보관해줍니다.

그리고 밑에 for문을 이용해 n까지의 범위를 지정해주고 m만큼 그것을 곱해주면 값이 출력됩니다.

위의 방법 1과 유사한 방식이므로 가운데 출력 과정은 생략하도록 하겠습니다.

가로 5, 세로 3 만큼의 * 사각형 출력

 

반응형