프로그래머스 / [연습문제] Lv1. 직사각형 별찍기 (파이썬 Python)

ljeun·2022년 3월 2일
0

Coding Test

목록 보기
2/3

문제 설명

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.

제한 조건

n과 m은 각각 1000 이하인 자연수입니다.

예시

입력
5 3

출력
*****
*****
*****


Solution 1

1) 가로(n), 세로(m)을 띄어쓰기로 구분된 문자열로 입력받고 이를 int형으로 변환하여 변수에 저장
2) 이중 for문을 사용하여 한 줄에 *을 가로(n)만큼 반복한 문자열을 생성
3) 해당 문자열을 출력한 후 초기화시키는 작업을 세로(m)만큼 반복하여 진행

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

for i in range(m):
    str_ = ''
    for j in range(n):
        str_ += '*'
    print(str_)

Solution 2

각 줄마다 출력하는 값은 동일하므로 줄마다 출력되는 문자열을 미리 생성한 후 세로(m)만큼 반복되도록 코드를 수정 >> 이중 for문에서 단일 for문으로 변화

1) 가로(n), 세로(m)을 띄어쓰기로 구분된 문자열로 입력받고 이를 int형으로 변환하여 변수에 저장
2) for문을 사용하여 한 줄에 출력할 *을 가로(n)만큼 반복한 문자열을 생성
3) for문을 사용하여 해당 문자열을 세로(m)만큼 출력

n, m = map(int, input().strip().split(' '))
str_ = ''

for i in range(n): # 가로(n)만큼 * 반복한 문자열 생성
	str_ += '*'
    
for i in range(m): # 세로(m)만큼 문자열 출력
    print(str_)

0개의 댓글