https://ssu-gongdoli.tistory.com/79
https://hongcoding.tistory.com/90
> 나중에 참고할 풀이 블로그
너무 어렵다.. 왜 머리가 안 돌아가지.? 이 문제 뭐지ㅠ
(22.08.25)
| 제출 1 |
import sys
input = sys.stdin.readline
n = int(input())
template = [[' ',' ','*',' ',' ',' '],
[' ','*',' ','*',' ',' '],
['*','*','*','*','*',' ']]
def recursive(x, y, n):
if n == 3:
for i in range(n):
for j in range(n):
result[x+i][y+j] = template[i][j]
return
for i in range(n):
for j in range(n):
if i == 0 and j == n//2:
recursive(x+i, y+j, n//2)
if i == n//2 and j == 0:
recursive(x+i, y+j, n//2)
if i == n//2 and j == (n*2)//2:
recursive(x+i, y+j, n//2)
return
if n == 3:
for t in template:
print(''.join(t))
else:
result = [[" "] * n for _ in range(n)]
recursive(0, 0, n)
for r in result:
print(''.join(r))
결과 이상하게 나오는 것 아는데 일단 기록용으로 제출했다. 오늘 그래도 다른 문제 풀고 넘어오니까 어떻게 접근해야겠다는 보인다! 감동! .. 역시 알고리즘 문제가 양치기다. 그냥 많이 풀면 된다. 이게 맞나보다.. 시간이 약이다 !계속 하자.
일단 이 문제 ..음 범위 나누는게 아무래도 잘 못 된 것 같다. 다시 쪼개보자.
for i in range(n):
for j in range(n):
if i == 0 and j == n//2:
recursive(x+i, y+j, n//2)
if i == n//2 and j == 0:
recursive(x+i, y+j, n//2)
if i == n//2 and j == n//2: # 여기 고치니까
recursive(x+i, y+j, n//2)
왜..? ㅠㅜ
'CodingTest > Baekjun Online Judge' 카테고리의 다른 글
[ BOJ / 파이썬 ] 15650 N과 M (2) (0) | 2022.08.26 |
---|---|
[ BOJ / 파이썬 ] 2630 색종이 자르기 + 도형 자르고 그리는 재귀 문제 공략 (0) | 2022.08.26 |
[ BOJ / 파이썬 ] 2447 별 찍기 (0) | 2022.08.25 |
[ BOJ / 파이썬 ] 17478 재귀 함수가 뭔가요? (0) | 2022.08.25 |
[ BOJ / 파이썬 ] 1600 말이 되고픈 원숭이 (0) | 2022.08.21 |