코딩테스트 연습 - 직사각형 별찍기
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수
programmers.co.kr
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
- 입력
5 3
- 출력
*****
*****
*****
1
2
3
4
5
6
|
a, b = map(int, input().strip().split(' '))
for j in range(b):
for i in range(a):
print('*', end='')
print('')
|
cs |
1번째 줄 : 입력받은 숫자를 split를 활용해 띄어쓰기를 기준으로 나누고 map을 활용하여 int로 변환하여 a와 b로 반환한다.
3~5번째 줄 : 첫번째 for문은 행의 개수 만큼 반복하고 두번째 for문은 별의 개수 만큼 반복하여 *을 찍는다.
6번째 줄 : 다음 줄로 넘어가기 위해 print('')를 작성한다.
하지만 이 방법은 for문을 2번 쓰기 때문에 효율적이지 않다.
1
2
3
4
|
a, b = map(int, input().strip().split(' '))
star = "*" * a
for i in range(0,b):
print(star)
|
cs |
1번째 줄은 위의 코드 방식과 같다. 차이점은 별의 개수만큼 찍어낸 star를 만들어서 1개의 for문을 통해 star를 반복해서 print한다.
1
2
3
|
a, b = map(int, input().strip().split(' '))
answer = ('*'*a + '\n')*b
print(answer)
|
cs |
마찬가지로 1번째 줄은 동일하다. 위의 star와 for문을 answer에 하나로 만들어 print한 방법이다.
[프로그래머스/Level1/파이썬3] 가운데 글자 가져오기 (0) | 2021.01.27 |
---|---|
[프로그래머스/Level1/파이썬3] 예산 (0) | 2021.01.25 |
[프로그래머스/Level1/파이썬3] 이상한 문자 만들기 (0) | 2021.01.17 |
[프로그래머스/Level1/파이썬3] 자연수 뒤집어 배열로 만들기 (0) | 2021.01.14 |
[프로그래머스/Level1/파이썬3] 정수 제곱근 판별 (0) | 2021.01.13 |