2019. 7. 23. 13:06
728x90

문제 번호: 2447

문제 제목: 별 찍기 - 10

문제 주소: https://www.acmicpc.net/problem/2447


문제 내용

가운데가 비어있는 사각형 패턴을 그린다. 입력은 3의 n제곱으로만 이루어진다.


테스트 케이스

3

***
* *
***

9

*********
* ** ** *
*********
***   ***
* *   * *
***   ***
*********
* ** ** *
*********


문제 풀이

여태까지의 별 찍기 문제와 달리 배열을 만들고 배열에 무작위 접근을 하여 그림을 그려야 하는 문제다.
메인 함수는 아래와 같은 순서로 작동된다.
1. 배열을 생성하고 내용을 공백으로 초기화 한다.
 > 공백으로 초기화 하지 않을 경우 더미 값이 남아 출력에 문제 생긴다.
2. 배열에 별을 그리도록 재귀함수를 호출한다. 최초 호출 시의 좌표는 0, 0으로 한다.
3. 배열에 그려진 입력된 내용을 출력한다.

재귀함수는 아래와 같은 순서로 작동된다.
0. 매개 변수는 4개를 받는다.
 > 배열, 가로 위치, 세로 위치, 사이즈
1. 사이즈가 1보다 큰 경우에는 for문을 3 * 3에서 아래와 같이 재귀함수를 호출한다.
 > 배열, 가로 + 사이즈 * i, 세로 + 사이즈 * i, 사이즈 / 3
2. for문을 3 * 3에서 i != 1 || j != 1인 곳에 *을 그리도록 한다.


풀이 코드


728x90

'공부 > 문제풀기' 카테고리의 다른 글

백준 11654 - 아스키 코드  (0) 2019.07.24
백준 11729 - 하노이 탑 이동 순서  (0) 2019.07.23
백준 10872 - 팩토리얼  (0) 2019.07.23
백준 1065 - 한수  (0) 2019.07.23
백준 4673 - 셀프 넘버  (0) 2019.07.23
Posted by 아야카