[Baekjoon] 2439: 별 찍기 - 2

✔️ 문제 😎링크

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

✔️ 예시 (입력: 5)

    *
   **
  ***
 ****
*****

✔️ SOLUTION

문제 접근 (1)

  • 입력된 N만큼 별의 개수가 증가하면서 줄 수 또한 증가함
  • for문을 이용해 1부터 N+1까지 수를 증가시키며 공백의 수와 *의 수를 교대시킴
  • sep=’’ 없이 print하는 경우 공백 한 칸이 발생하므로 sep=’’ 을 이용해 공백 제거
N = int(input())
for n in range(1, N+1) :
    print(' ' * (N-n),'*' * n, sep='')

문제 접근 (2)

  • 위와 풀이 방식 유사하나 rjust 함수 사용하여 공백 처리 진행

    🥸 rjust(n, ‘*’)

    • 오른쪽 정렬 함수로 공백의 수(n), 공백을 채울 문자(‘*’) 지정 가능
    • ljust(왼쪽 정렬), zfill(왼쪽에 0으로 채워줌)
N = int(input())

for n in range(1, N+1):
    star = '*' * n
    print(star.rjust(N))

Categories:

Updated:

Leave a comment