![[백준 알고리즘] 2447번 별 찍기 - 10 (Python)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbHEhj%2FbtqDwdOXU4B%2FKKzWqOnZSMoKxK7GymF0Q0%2Fimg.png)
[백준 알고리즘] 2447번 별 찍기 - 10 (Python)언어, 알고리즘 공부/백준2020. 4. 17. 20:41
Table of Contents


<Python>
N = int(input())
star = []
for _ in range(N):
star.append(["*" for _ in range(N)])
divide = N
cnt = 0
while divide != 1:
divide /= 3
cnt += 1
for n in range(cnt):
# 빈칸인 인덱스 구하기
idx = [i for i in range(N) if (i // 3 ** n) % 3 == 1]
for i in idx:
for j in idx:
star[i][j] = " "
# 프린트
for _ in star:
print("".join(_))
▼ 링크
https://www.acmicpc.net/problem/2447
2447번: 별 찍기 - 10
재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다.
www.acmicpc.net
반응형
'언어, 알고리즘 공부 > 백준' 카테고리의 다른 글
[백준 알고리즘] 11650번 좌표 정렬하기 (Python) (0) | 2020.04.29 |
---|---|
[백준 알고리즘] 1427번 소트인사이드 (Python) (0) | 2020.04.28 |
[백준 알고리즘] 1436번 영화감독 숌 (Python) (0) | 2020.04.17 |
[백준 알고리즘] 1018번 체스판 다시 칠하기 (Python) (0) | 2020.04.17 |
[백준 알고리즘] 1920번 수 찾기 (Python) (0) | 2020.03.22 |
@쿠몬e :: ˚˛˚ * December☃ 。* 。˛˚
전공 공부 기록 📘
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!