2439. 별 찍기 - 2
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
입력 : 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력 : 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
ex)
입력 : 5
출력 :
*
**
***
****
*****
풀이
n = int(input())
for i in range(1, n+1):
print(' '*(n-i) + '*'*i)
- input()을 통하여 n을 입력받은 다음 1부터 n+1까지 반복하는 for문을 작성했다.
이 문제에서는 공백의 수 + * 의 수 = n 이라는 규칙을 찾을 수 있기 때문에 이를 활용하여 ' '(공백)에는 n-i 를 곱하고 * 에는 i 를 곱하여 출력하도록 했다.
ex)
n = 5 일 때, 1부터 6까지 반복되는 for문에서
첫 번째 줄에 출력되는 공백의 개수는 4, * 의 개수는 1
두 번째 줄에 출력되는 공백의 개수는 3, * 의 개수는 2
세 번째 줄에 출력되는 공백의 개수는 2, * 의 개수는 3
네 번째 줄에 출력되는 공백의 개수는 1, * 의 개수는 4
다섯 번째 줄에 출력되는 공백의 개수는 0, * 의 개수는 5
위에서 나열한 것으로 보아 공백의 개수 + * 의 개수 = n(5) 가 되는 규칙이 있는 것을 알 수 있다.
'코딩테스트 문제풀이(Python)' 카테고리의 다른 글
백준 5565번 문제풀이 (0) | 2022.04.09 |
---|---|
백준 2441번 문제풀이 (0) | 2022.04.09 |
백준 2440 문제풀이 (0) | 2022.04.07 |
백준 2438번 문제풀이 (0) | 2022.04.07 |
백준 8393번 문제풀이 (0) | 2022.04.07 |