728x90
출처: 2448번: 별 찍기 - 11 (acmicpc.net)
별 찍기 - 11 성공분류
시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초 | 256 MB | 22460 | 8768 | 6140 | 37.230% |
문제
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
입력
첫째 줄에 N이 주어진다. N은 항상 3×2**k 수이다. (3, 6, 12, 24, 48, ...) (0 ≤ k ≤ 10, k는 정수)
출력
첫째 줄부터 N번째 줄까지 별을 출력한다.
[ 문제 설명 ]
이전에 풀었던 별 찍기 10처럼 도장 찍듯이 풀려고 하고, 도장을 만드는 점화식을 구현하는 게 복잡하고 어려웠다.
해서 점화식 형태로 구현하는 것보다 직접 print문 형식으로 도장을 하나 만들어서 이전과 방법으로 풀려고 한다.
import math
triangle = [" * ", " * * ", "***** "]
def starts(move):
t = len(triangle)
for i in range(t):
triangle.append(triangle[i] + triangle[i])
triangle[i] = (" " * move + triangle[i] + " " * move)
n = int(input())
q = int(math.log(int(n / 3), 2))
for i in range(q):
starts(int(pow(2, i)))
for i in range(n):
print(triangle[i])
print(triangle)
후기
음.. 먼가 생각을 해야 하는 문제..
그리고 별 찍기 10을 풀고 오니 오히려
헤맨 문제.
728x90
'백준 코딩 테스트' 카테고리의 다른 글
백준 1167번 - 트리의 지름 (0) | 2021.03.09 |
---|---|
백준 - 1517번 버블 소트 (0) | 2021.03.08 |
백준 - 2447번 별찍기(10) (0) | 2021.03.07 |
백준 1992번 - 쿼드트리 (0) | 2021.03.03 |
백준 11729번 - 하노이탑 이동순서 (0) | 2021.03.03 |