2523번: 별 찍기 - 13
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
내 소스
N = int(input())
for i in range(1, (2*N)):
if i <= N:
print('*'*i)
if i > N:
for j in range(2*N-1, N, -1):
print('*'*(j-N))
더보기
이 문제는 좀 애를 먹었다. 처음에는 아래처럼 코드를 작성했더니
N = int(input())
for i in range(1, (2*N)):
if i <= N:
print('*'*i)
if i > N:
print('*'*(i-N))
*
**
***
*
**
이런식으로 4~5번째 줄 출력이 이상하게 나왔다. 그래서 다시 아래처럼 수정을 했다.
N = int(input())
for i in range(1, (2*N)):
if i <= N:
print('*'*i)
if i > N:
for j in range(2*N-1, N, -1):
print('*'*(j-N))
*
**
***
**
*
**
*
근데 또 이번에는 4~5번째 줄이 한번 더 출력되는거다!!! 암튼 if i>N을 처음 for문 밖으로 꺼내서 해결했다...
'PS(Problem Solving) > 백준' 카테고리의 다른 글
[백준] 10996번 별 찍기 - 21 (Python) (0) | 2020.04.14 |
---|---|
[백준] 2446 별 찍기 - 9 (Python) (0) | 2020.04.12 |
[백준] 10817번 세 수 (Python) (0) | 2020.04.12 |
[백준] 5543번 상근날드 (Python) (0) | 2020.04.10 |
[백준] 10039번 평균 점수 (Python) (0) | 2020.04.10 |