문제
정수 N이 주어지면 *로 이루어진 삼각형 패턴을 출력하는 문제이다.
첫 번째 줄에는 * 1개, 두 번째 줄에는 * 2개, ... N번째 줄에는 * N개를 출력한다.
0이 입력되면 종료한다.
입력
여러 줄에 걸쳐 정수 N이 입력된다. N이 0이면 입력 종료.
출력
각 N에 대해 1줄씩 *을 늘려 가며 삼각형을 출력한다.
예제
| 입력 | 출력 |
|---|---|
3 0 | * / ** / *** |
풀이
반복 입력을 처리하며 각 케이스마다 삼각형 패턴을 출력하는 단순 구현 문제이다.
while True로 입력을 반복 받는다.- n이 0이면 반복을 종료한다.
- 1부터 n까지 반복하며
"*" * i로 해당 행의 패턴을 출력한다.
핵심 아이디어: 파이썬의 문자열 반복 연산("*" * i)을 활용하면 별도의 내부 반복 없이 각 줄을 한 번에 출력할 수 있다.
코드
while 1:
n = int(input())
if n == 0:
break
for i in range(1, n + 1):
print("*" * i)복잡도
- 시간: O(N^2) (각 케이스마다 N줄, 각 줄 최대 N개 문자)
- 공간: O(N)