alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 2438/2439/2440/2441/2442/2445/2522/2446/10991/10992 별 찍기 _ 파이썬 본문
[알고리즘][Python] 백준(BOJ) 2438/2439/2440/2441/2442/2445/2522/2446/10991/10992 별 찍기 _ 파이썬
알파이 2020. 3. 17. 11:32입출력(3)
알고리즘의 가장 기본인 입출력 문제들
2438 별 찍기 - 1 https://www.acmicpc.net/problem/2438
2438번: 별 찍기 - 1
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
www.acmicpc.net
풀이
n = int(input())
for i in range(1, n+1):
print('*' * i)
2439 별 찍기 - 2 https://www.acmicpc.net/problem/2439
2439번: 별 찍기 - 2
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
www.acmicpc.net
풀이1
n = int(input())
for i in range(1, n+1):
print(' ' * (n-i), end='')
print('*' * i)
풀이2
n = int(input())
for i in range(1, n+1):
print('%s%s' %(' '*(n-i), '*'*i))
2440 별 찍기 - 3 https://www.acmicpc.net/problem/2440
2440번: 별 찍기 - 3
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제
www.acmicpc.net
풀이
n = int(input())
for i in range(n, 0, -1):
print('*' * i)
2441 별 찍기 - 4 https://www.acmicpc.net/problem/2441
2441번: 별 찍기 - 4
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
www.acmicpc.net
풀이
n = int(input())
for i in range(n):
print(' '*i + '*'*(n-i))
2442 별 찍기 - 5 https://www.acmicpc.net/problem/2442
2442번: 별 찍기 - 5
첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.
www.acmicpc.net
풀이
n = int(input())
for i in range(1, n+1):
print(' '*(n-i) + '*'*(2*i-1))
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*(n-i) + '*'*i)
for i in range(n-1, 0, -1):
print('*'*i + ' '*2*(n-i) + '*'*i)
2522 별 찍기 - 12 https://www.acmicpc.net/problem/2522
2522번: 별 찍기 - 12
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
풀이1
n = int(input())
for i in range(1, n+1):
print(' '*(n-i) + '*'*i)
for i in range(n-1, 0, -1):
print(' '*(n-i) + '*'*i)
풀이2
n = int(input())
for i in range(1, 2*n):
if i <= n:
print(' '*(n-i) + '*'*i)
else:
print(' '*(i-n) + '*'*(2*n-i))
2446 별 찍기 - 9 https://www.acmicpc.net/problem/2446
2446번: 별 찍기 - 9
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
풀이1
n = int(input())
for i in range(n, 0, -1):
print(' '*(n-i) + '*'*(2*i-1))
for i in range(2, n+1):
print(' '*(n-i) + '*'*(2*i-1))
풀이2
n = int(input())
for i in range(2*n-1):
if i < n:
print(' '*i + '*'*(2*(n-i)-1))
else:
print(' '*(2*(n-1)-i) + '*'*(2*(i-n)+3))
10991 별 찍기 - 16 https://www.acmicpc.net/problem/10991
10991번: 별 찍기 - 16
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
www.acmicpc.net
풀이1
n = int(input())
for i in range(1, n+1):
print(' '*(n-i) + '*' + ' *'*(i-1))
풀이2
n = int(input())
s = 1
while s <= n:
print(' '*(n-s) + '*', end='')
for i in range(s-1):
print(' *', end='')
print()
s += 1
10992 별 찍기 - 17 https://www.acmicpc.net/problem/10992
10992번: 별 찍기 - 17
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
풀이
n = int(input())
for i in range(1, n+1):
if i == n:
print('*'*(2*i-1))
elif i == 1:
print(' '*(n-i) + '*')
else:
print(' '*(n-i) + '*' + ' '*(2*(i-1)-1) + '*')