백준 별찍기 파이썬 풀이모음

로선생·2022년 1월 23일
0

코테준비

목록 보기
18/19

별찍기 참 많다... 유형별로...

2438

문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

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

예제 입력 1 
5
예제 출력 1 
*
**
***
****
*****
n = int(input())

for i in range(n):
  print("*"*(i+1))

2439

문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

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

예제 입력 1 
5
예제 출력 1 
    *
   **
  ***
 ****
*****
n = int(input())

empty_list = [" " for i in range(n)]

for i in range(n-1, -1, -1):
  empty_list[i] = "*"
  print("".join(empty_list))

2440

문제
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제

입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

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

예제 입력 1 
5
예제 출력 1 
*****
****
***
**
*
n = int(input())

empty_list = [" " for i in range(n)]

for i in range(n-1, -1, -1):
  empty_list[i] = "*"
  print("".join(empty_list))

2441

문제
첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

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

예제 입력 1 
5
예제 출력 1 
*****
 ****
  ***
   **
    *
from queue import Empty


n = int(input())

empty_list = ["*" for i in range(n)]

for i in range(n):
  if i-1 >= 0:
    empty_list[i-1] = " "
  print("".join(empty_list))

2442

문제
첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제

별은 가운데를 기준으로 대칭이어야 한다.

입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

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

예제 입력 1 
5
예제 출력 1 
    *
   ***
  *****
 *******
*********
n = int(input())

for i in range(1,n+1):
  str = ' '*(n-i)+"*"*(2*i-1)
  print(str)

2445

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

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

예제 입력 1 
5
예제 출력 1 
*        *
**      **
***    ***
****  ****
**********
****  ****
***    ***
**      **
*        *
n = int(input())

empty_list = [" " for i in range(2 * n)]

for i in range(1, 2*n):
  if i <= n:
    empty_list[i-1] = "*"
    empty_list[-i] = "*"
    print("".join(empty_list))
  else:
    empty_list[i-(2*i)] = " "
    empty_list[i-1] = " "
    print("".join(empty_list))

2522

문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

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

예제 입력 1 
3
예제 출력 1 
  *
 **
***
 **
  *
n = int(input())

empty_list = [" " for i in range(n)]

for i in range(1,2*n):
  if i <= n:
    empty_list[-i] = "*"
    print("".join(empty_list))
  else:
    empty_list[i-(n+1)] = " "
    print("".join(empty_list))

2446

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

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

예제 입력 1 
5
예제 출력 1 
*********
 *******
  *****
   ***
    *
   ***
  *****
 *******
*********

처음 list형식으로 뒤의 공백까지 계산한 풀이를 제출했는데
제출 형식이 다르다고 나왔다.

n = int(input())

fulled_list = ["*" for _ in range(2*n-1)]

for i in range(2*n):
  if i == 0 :
    print("".join(fulled_list))
  
  elif i < n and i >0 :
    fulled_list[i-1] = " "
    fulled_list[-i] = " "
    print("".join(fulled_list))
  
  elif i > n:
    fulled_list[-i] = "*"
    fulled_list[i-1] = "*"
    print("".join(fulled_list))

고민을 하다가 뒤에 공백은 아예 출력하지 않는 풀이로 했더니
정답이 나왔다.

n = int(input())

for i in range(2*n):
  if i < n:
    str = " "*i+"*"*(2*n-1-(2*i))
    print(str)
  elif i > n:
    str = " "*(2*n-1-i)+"*"*(2*i-2*n+1)
    print(str)

10991

문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

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

예제 입력 1 
1
예제 출력 1 
*
예제 입력 2 
2
예제 출력 2 
 *
* *
예제 입력 3 
3
예제 출력 3 
  *
 * *
* * *
예제 입력 4 
4
예제 출력 4 
   *
  * *
 * * *
* * * *
n = int(input())

for i in range(1,n+1):
  str = " "*(n-i)
  for j in range(1,i+1):
    if i == j:
      str += "*"
    else:
      str += "* "
  print(str)

10992

문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

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

예제 입력 1 
1
예제 출력 1 
*
예제 입력 2 
2
예제 출력 2 
 *
***
예제 입력 3 
3
예제 출력 3 
  *
 * *
*****
예제 입력 4 
4
예제 출력 4 
   *
  * *
 *   *
*******
n = int(input())

for i in range(1, n+1):
  if i == 1 or i == n:
    str = (" "*(n-i)) + ("*"*(2*i-1))
    print(str)
  else:
    str = (" "*(n-i)) + "*" + (" "* (2*(i-1)-1) + "*")
    print(str)
profile
이제는 이것저것 먹어요

0개의 댓글

관련 채용 정보