https://www.acmicpc.net/problem/2447
2447번: 별 찍기 - 10
재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이
www.acmicpc.net

재귀 함수를 이용해야 하는 문제입니다. 제일 기초 케이스를 k = 3으로 재귀를 종료하게 만들었고, k > 3 인 케이스는 설명을 위해 k = 9 인 케이스로 제한합니다. 시작으로 k = 3 이 되는 기초 케이스를 temp에서 3배를 하여 사각형의 가로길이를 늘립니다. 그리고 반복문으로 각 요소마다 3배를 하여 세로 길이를 늘렸다. 그러면 다음 사각형이 만들어집니다.
*********
* ** ** *
*********
*********
* ** ** *
*********
*********
* ** ** *
*********
여기서 중심 구역을 없애야 하는데, tem_s에서 문자열을 그대로 가져올 때 중심 부분 구역에 대한 인덱스일 때, 공백을 더해줍니다. 그 후 조건을 만족하는 i 위치의 문자열을 대체시켜주고 출력해 줍니다.
반응형
'Python > 백준알고리즘' 카테고리의 다른 글
[백준알고리즘 1003 피보나치 함수] python solution (0) | 2021.12.19 |
---|---|
[백준알고리즘 4673 셀프 넘버] python solution (0) | 2021.12.19 |