[ 백준 문제 2438 / 파이썬 ] 별 찍기 - 1

2023. 2. 5. 20:43백준/파이썬

 

2438번: 별 찍기 - 1

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

www.acmicpc.net

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

이 모양 만들라는 겁니다!

 

STAR = int(input())

for i in range(1, STAR+1):  # 줄을 생성
    for j in range(i): # 별을 생성
        print("*")
    print()
5
*

*
*

*
*
*

*
*
*
*

*
*
*
*
*

 

처음에 이렇게 해줬습니다.

 

잘못 출력 됩니다..

 

파이썬에서는 print() 자체에 줄바꿈 기능이 있습니다.

 

이는 print 메서드에 있는 end 인수의 기본 값이

\n이기 때문입니다!

 

그렇기 때문에

원하는 바대로 *이 연달아서 나오질 않습니다.

 

print()의 줄바꿈 기능을 제거 해주고 싶습니다.

 

print 메서드에 있는 end 인수의 값을 변경해줍니다.


end = ' '
print("*", end = '')

이렇게 하면 print 줄바꿈 기능없이 연달아 출력하는 것이 가능해집니다.

 

나의 정답 :

STAR = int(input())

for i in range(1, STAR+1):  # 줄을 생성
    for j in range(i): # 별을 생성
        print("*", end = '')
    print()
5
*
**
***
****
*****

 

응용 :

STAR = int(input())

for i in range(STAR, 0, -1):  # 줄을 생성
    for j in range(i): # 별을 생성
        print("*", end = '')
    print()

 

5
*****
****
***
**
*