본문 바로가기
코딩테스트/PYTHON

백준 2444번 파이썬 풀이

by aibattle 2023. 3. 19.
728x90
반응형
n = int(input())

if n == 1:  # N이 1인 경우
    print('*')
else:  # N이 2 이상인 경우
    for i in range(1, 2*n):  # 총 2N-1 줄 출력
        if i <= n:  # 위쪽 삼각형 출력
            print(' '*(n-i) + '*'*(2*i-1))
        else:  # 아래쪽 삼각형 출력
            print(' '*(i-n) + '*'*(4*n-2*i-1))

input() 함수를 사용하여 입력을 받고, 입력된 값을 n에 저장합니다. 

 

그리고 if 문을 사용하여 n이 1인 경우와 2 이상인 경우를 분리합니다.

n이 1인 경우에는 바로 별 하나를 출력하면 되므로, print('*')을 사용합니다.

n이 2 이상인 경우에는 2N-1줄을 출력해야 합니다. 

 

이를 위해 for 문을 사용하여 1부터 2N-1까지 반복하면서, 

각 줄마다 적절한 개수의 공백과 별을 출력합니다.

위쪽 삼각형을 출력할 때는, 

i번째 줄에서 공백의 개수는 n-i개,

별의 개수는 2i-1개입니다.

 

이를 고려하여 print(' '*(n-i) + '*'*(2*i-1))를 사용하여 출력합니다.

아래쪽 삼각형을 출력할 때는,

 i번째 줄에서 공백의 개수는 i-n개, 

별의 개수는 4n-2i-1개입니다. 

 

이를 고려하여 print(' '*(i-n) + '*'*(4*n-2*i-1))를 사용하여 출력합니다.

728x90
반응형

'코딩테스트 > PYTHON' 카테고리의 다른 글

백준 10798번 파이썬 풀이  (0) 2023.03.24
백준 1157번 파이썬 풀이  (0) 2023.03.24
백준 11718 파이썬 풀이  (0) 2023.03.19
백준 5622번 파이썬 풀이  (0) 2023.03.19
백준 2908번 파이썬 풀이  (0) 2023.03.19

댓글