alpyrithm_알파이리즘

[알고리즘][Python] 백준(BOJ) 2438/2439/2440/2441/2442/2445/2522/2446/10991/10992 별 찍기 _ 파이썬 본문

Algorithm/백준 알고리즘_Python

[알고리즘][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) + '*')

 

 

 

 

 

 

 

 

반응형
Comments