728x90
반응형
문제:
이 문제에는 표준 입력으로 두 개의 정수 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 |
문제 링크:
728x90
반응형
'Algorithm > Python' 카테고리의 다른 글
[Programmers]Lv 1. 하샤드 수 (0) | 2019.01.20 |
---|---|
[Programmers]Lv 1.핸드폰 번호 가리기 (0) | 2019.01.19 |
[Programmers]Lv 1. 행렬의 덧셈 (0) | 2019.01.18 |
[Programmers]Lv 1.x만큼 간격이 있는 n개의 숫자 (0) | 2019.01.17 |
[Programmers]Lv.1 예산 (0) | 2019.01.12 |