안경잡이 구루루

백준 2523 ( 별 찍기 - 13 ) [ Python ] 본문

파이썬(Python)/문제풀이(백준,BaekJoon)

백준 2523 ( 별 찍기 - 13 ) [ Python ]

구루루(gururu) 2020. 5. 28. 17:49
반응형


나:

N = int(input())

for i in range(1,N+1):
    print('*'*i)

for i in range(N-1,0,-1):
    print('*'*i)

완성된 코드는 위와 같다.

 

N = int(input())

최종 출력할 * 개수 N을 정수형으로 입력값을 받는다.

 

for i in range(1,N+1):
    print('*'*i)

for i in range(N-1,0,-1):
    print('*'*i)

문제를 크게 별( * )이 1개씩 증가하는 부분과 1개씩 줄어드는 부분으로 나누었다.

먼저 증가하는 부분은 i를 1부터 N+1까지 *에 곱해서 N개까지 1씩 증가하며 출력하도록 했다.

그리고 감소하는 부분은 i를 N-1부터 0까지 ( range의 끝부분은 포함되지 않음 ) -1씩 감소하며 출력


다른사람:

https://cleancode-ws.tistory.com/31

a = int(input())
b =a
for k in range(1,b+1):
    print('*'*k)
for i in range(1,a):
    print('*'*(b-i))

완성된 코드는 위와 같다.

range함수의 증가값을 사용하지 않고 처음과 끝값만을 이용해서 문제를 해결했다.

1씩 감소하는 부분을 b-1로 표현해 증가값의 이용없이 * 의 개수가 감소한다

반응형