문제:

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 

별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.


풀이 방법:

표준 입력으로 두 개의 정수를 받는 다고 하였으므로, 반복문을 돌리기 위해서 int 형으로 바꾼는 작업이 필요하다. 우선 두 개의 입력이 공백을 사이에 두고 받으므로 split 을 사용해서 분릭하여 받았다.

1
a,b=input().split(' ')
cs


input()으로 받은 값들은 string 자료형을 가지고 있으므로 이를 int형으로 바꿔야 한다. 다음과 같이 하나씩 int형으로 바꾸어도 문제가 없으나, map이라는 내장 함수를 사용하면 한 번에 바꿀 수 있다.

1
2
a=int(a)
b=int(b)
cs


Python에서 제공하는 map의 설명은 다음과 같다.


내장 함수 map은 map( func, *iterabels) 와 같이 입력값을 받는다. map은 반복가능한 (*iterables) 자료형에 대해서 함수(func)를 각각 적용한 결과를 나타내준다. int와 같이 이미 내장되어 있는 함수를 사용할 수 있고, 사용자가 임의로 작성한 함수를 적용할 수도 있다. 따라서 map을 사용해서 input 값을 int로 바꾸고 반복문을 사용하면 다음과 같다.

1
2
3
4
5
6
7
a, b = map(int, input().split(' '))
answer=''
for i in range(b):
    for j in range(a):
        answer+="*"
    answer+='\n'
print(answer)
cs

문제 링크:

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

+ Recent posts