백준 2447번 별 찍기 - 10
문제
재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다.
크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다.
*** * * ***
N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다.
문제풀이
사용한 알고리즘 : 구현
(1) 코드 6~29
문제 조건에 따라 별 찍기를 string으로 리턴하는 재귀 함수를 구현해주었습니다.
K=1 일때 "*" 이라고 기저를 설정해 주었습니다.
이후 NxN 크기의 별찍기를 하는 방법은 다음과 같습니다.
1. 재귀를 통해 이전 단계 별 찍기를 마련해 놓는다.
2. 이번 단계를 만들 때, 중앙 부분은 비워준다.
3. 중앙이 아닌 경우 해당 위치를 모듈러 쳐서 만들어 놓은 이전 단계에서 해당부분을 찾아 붙인다.
(2) 코드 35~48
N개씩 행으로 잘라서 출력해줍니다.
댓글
댓글 쓰기
긴 글 읽어주셔서 감사합니다.
궁금한게 있으시다면 댓글 달아주세요!