코딩테스트 공부/백준 문제

백준 [Python] 2439번: 별 찍기 - 2

연디연디 2021. 9. 28. 16:48
728x90

문제

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

예제 입력  

5

 

예제 출력 

    *

   **

  ***

 ****

*****

 

✨풀이(1) - 내가 푼 방식

1
2
3
= int(input())
for i in range(1,N+1):
    print(" "*(N-i)+"*"*i)
cs

- 별(*)이 오른쪽 정렬 상태로 출력되어야 하기 때문에, 먼저 왼쪽에 공백을 주고 별을 출력하는 방식을 생각했다.

print(" "*(N-i), "*"*i) 형식은 오류발생 

 

✨풀이(2) - format

1
2
3
int(input())
for i in range(1,N+1):
    print("{0:>{1}s}".format(("*"*i),N))
cs

✔ format 숙지 필요❗❕ + 참고글

 

[Python 3.x]파이썬 별찍기 모든 종류 정리 숙련,초급 단계 포함

파이썬 별찍기 정리 안녕하세요. 파이썬 별찍기 코드를 format을 이용한 간단한 코드와 기본 코드로 나누어 정리해 두었습니다. 아래의 사진은 코드를 돌린 결과입니다. 아래 코드중에 자신의 마

inten.tistory.com

 

 

✨풀이(3) - format

1
2
3
4
= int(input())
for i in range(1,N+1):
    star = "*"*i
    print(star.rjust(N))
cs

✔ .rjust(N) : 전체 N 중 오른쪽 정렬
✔ .center(N) : 전체 N 중 센터 정렬
✔ .ljust(N) : 전체 N 중 왼쪽 정렬

 

 

 

2439번: 별 찍기 - 2

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

www.acmicpc.net

 

728x90