문제 

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

해석

입력값 N이 주어지면, N줄에 걸쳐 각 줄마다 별(*)을 1개부터 N개까지 순차적으로 출력한다.
단, 별을 오른쪽 정렬된 형태로 출력해야 한다.

입출력 예시

 


 

풀이

import sys

n = int(sys.stdin.read().strip())

for i in range(n):
    print(('*' * (i+1)).rjust(n))
  • range(n)은 0부터 n-1까지 반복하며, 각 줄 번호를 의미한다.
  • (i+1)개만큼 별을 만든 뒤, .rjust(n)를 사용해 n칸 기준으로 오른쪽 정렬하여 출력한다.
  • 문자열을 오른쪽 정렬할 수 있는 rjust를 처음 활용해보았다.

📌 문자열의 왼쪽 / 오른쪽 정렬

기본적으로 print문은 왼쪽 정렬로 출력하지만, rjust를 활용하면 오른쪽 정렬로도 출력 가능하다.

ljust(전체 자릿수) : 왼쪽 정렬
rjust(전체 자릿수) : 오른쪽 정렬

 

 

요약

실행 시간 메모리 사용
32ms 32412KB

 

 

 


 

 

 

끝!

 

'Study > Algorithm' 카테고리의 다른 글

[백준] 2442번: 별 찍기 - 5  (2) 2025.04.28
[백준] 2440번: 별 찍기 - 3  (0) 2025.04.28
[백준] 백준 2753번: 윤년  (0) 2025.04.24
[백준] 2475번: 검증수  (0) 2025.04.24
[백준] 2438번: 별 찍기 - 1  (0) 2025.04.24