📝 문제
> 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
https://programmers.co.kr/learn/courses/30/lessons/12969
코딩테스트 연습 - 직사각형 별찍기
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수
programmers.co.kr
🎨 풀이
💡 첫번째 시도 = 성공
- 이 문제는 가로와 세로가 각각 n, m으로 주어지고 그걸 이용해 별을 꽉 채운 직사각형을 만드는 문제였다.
a, b = map(int, input().strip().split(' '))
for i in range(b):
for j in range(a):
print("*",end = '')
print("")
> 가로와 세로가 동시에 주어지기 때문에 공백으로 구분해서 a와 b에 나누어 담았다.
그 후, a가 가로, b가 세로이기 때문에 세로 -> 가로 순으로 for문을 돌려야한다. 맨 처음부터 옆으로 하나씩 찍어나가는 걸 생각해보면 b로 for문을 먼저 돌려야하는 게 맞다. b는 세로이자 줄 개수이기 때문이다.
그래서 하나씩 찍어나가고 가로 개수만큼 다 찍었으면 줄바꿈을 해주면 된다. 이 때, print("*")은 자동 줄바꿈이 되기 때문에 꼭 end='' 같은 장치를 마련해야한다.
⭐ 느낀점
> 이거는 정말 쉬운 문제였다. 예전어 C언어 공부할 때 배웠던 거꾸로 별찍기보다 더더 쉬운 문제였던 것 같다. 살짝 헷갈렸던 게 있다면 print("*")을 하니까 자동 줄 바꿈이 되어 *이 한줄로 쭉 서있더라. 그거만 조심 좀 하면 될 것 같다. end = '' 꼭 기억하자!!!
'🎲 알고리즘 공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 / Level 1] 신규 아이디 추천 (파이썬) (0) | 2022.03.30 |
---|---|
[프로그래머스 / Level 1] 로또의 최고 순위와 최저 순위 (파이썬) (0) | 2022.03.29 |
[프로그래머스 / Level 1] x만큼 간격이 있는 n개의 숫자 (파이썬) (0) | 2022.03.27 |
[프로그래머스 / Level 1] 행렬의 덧셈 (파이썬) (0) | 2022.03.26 |
[프로그래머스 / Level 1] 핸드폰 번호 가리기 (파이썬) (0) | 2022.03.25 |