본문 바로가기

알고리즘 공부/백준 > Python3

[백준 파이썬] #2445: 별 찍기 - 8

https://www.acmicpc.net/problem/2445

 

2445번: 별 찍기 - 8

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

www.acmicpc.net

 

[정답]

N=int(input())
for i in range(1,N+1):
    print("*"*i+" "*((-2)*i+N*2)+"*"*i)
for k in range(N-1,0,-1):
    print("*"*k+" "*((-2)*k+N*2)+"*"*k)


print("*"*i+" "*((-2)*i+N*2)+"*"*i)

N*2를 처음에는 10이라고 했더니 '틀렸습니다!'라고 떴다.

나는 입력값 5에만 초점을 맞춰서 코딩을 했기 때문이다.

 

※ print("*"*i+" "*((-2)*i+10)+"*"*i) 경우,

입력값이 5일때, 문제에 나와있는 예제의 그림과 같다.

그러나, 입력값이 6일때를 살펴보면, 이렇게 규칙적이지 않게 나온다는 것을 확인할 수 있다.

4 또한 마찬가지였다.

print("*"*i+" "*((-2)*i+N*2)+"*"*i) 경우,

입력값이 4일때, 

입력값이 6일 때, 

모두 정상적으로 작동된다는 것을 확인할 수 있다.

즉, 예제에만 너무 집중해서 문제를 풀지 말 것!