[연습문제] 직사각형 별찍기

2024. 12. 4. 18:00입문문제

https://school.programmers.co.kr/learn/courses/30/lessons/12969

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


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


제한 조건

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

예시
입력

5 3

 

출력

*****
*****
*****

입력된 두 값을 사용하여 가로 a, 세로 b인 별(*)로 이루어진 직사각형을 출력하는 문제입니다.

 

기본적인 이중 반복문을 사용하여 푸는 문제로, 반복문 기초에 나올 법한 난이도입니다.

C언어와 파이썬을 사용해 문제를 풀어보겠습니다.

 

1. C

#include <stdio.h>

int main(void) {
    int a, b;
    scanf("%d %d", &a, &b);
    for (int i = 0; i < b; i++) {
        for (int j = 0; j < a; j++) {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

 

2. 파이썬

# a, b를 공백을 기준으로 분리하여 받습니다.
a, b = map(int, input().strip().split(' '))
# 별(*) 문자 a번 반복 후 줄바꿈
# 이 과정을 b번 반복
print(("*" * a + "\n") * b)

 

파이썬의 경우 별 문자에 직접 곱하기를 사용하여 문자열을 늘릴 수 있습니다.

기본적인 원리는 C와 동일하지만, 파이썬이 좀 더 간편하게 구현할 수 있습니다.