ps/boj
10991번 Python
choi-dev
2024. 4. 23. 22:15
https://www.acmicpc.net/problem/10991
10991번: 별 찍기 - 16
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
www.acmicpc.net
규칙되는 부분을 얼추 찾은 것 같았는데 출력 형식이 잘못되었다고 나올까봐 배제하고 다른 풀이를 생각했는데 그것이 올바른 길이었다.
*
* *
* * *
* * * *
* * * * *
유심히 보았던 것은 왼쪽의 공백이었다. 4 > 3 > 2 > 1의 순서로 일정하게 줄어드는 것을 확인했다. 그렇다는 건 복잡하게 생각할 필요성이 없다고 판단했다. 그 다음으로 생각한 것이 *의 형태였다. 기존에는 *만 생각해보았다면 이번엔 '* '의 형태를 도입해보기로 생각까지는 했었다.
하지만 백준에서 보았을 때, 오른쪽의 공백 형태가 보이지 않길래 이렇게 하면 출력 형식이 오류가 날 거 같다고 판단해 여러 풀이를 생각했다. 공백까지 포함해서 4 > 5 > 6 > 7 순서로 흘러가길래 range를 N부터 2 * N까지 해볼까? 도 생각했고 여러 풀이를 생각했는데 도저히 생각이 안나서 푸신 분의 풀이를 보았다. 그런데 확인해보니 내가 처음에 생각했던 부분이었다.
N = int(input())
for i in range(1, N + 1):
print(' ' * (N - i) + '* ' * i)
그래서 바로 코드를 작성했고 제출해보니 정답이었다.