본문 바로가기
코테준비/백준(Python)

2444번 별 찍기 - 7, 출력 형식이 잘못되었습니다

by 알래스카코코넛 2025. 6. 28.
반응형

처음 코드 - 출력 형식이 잘못되었습니다 

for i in range(1,n+1):
    print(" "*(n-i),"*"*(2*i-1))
    

for i in range(1,n):
    print(" "*i,"*"*(2*n-2*i-1))

 

잘못된 출력과 그 이유:

이렇게 보면 모르겠지만, 공백을 '-'로 바꾸니...

'-'과 '*' 사이에 공백이 있다.

따라서 이 공백을 없애야 정상 출력이 된다.

 

고친 코드:

n = int(input())
#5면 1 3 5 7 9   - 길이: n+(n-1)  = 2n-1
#공백8 6 4 2 0
# n-1, n-2, n-3, n-4

for i in range(1,n+1):
    print(" "*(n-i)+"*"*(2*i-1))
    
#n이 5면
#공백(i): 1 2 3 4
#별:   7 5 3 1
# 9 = 2n-1  (total)
# 2n-1 - 2i = 9-2i
    
for i in range(1,n):
    print(" "*i+"*"*(2*n-2*i-1))

 이전에 연결할 때 콤마(,)를 사용했지만, 이번에는 플러스(+)로 연결했더니 정상적으로 출력된다

(-)로 체크한 결과:

로직은 주석 참조 

 

반응형