본문 바로가기
코딩테스트 문제풀이(Python)

백준 2439번 문제풀이

by chanfficial 2022. 4. 8.

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