문제
Draw a hollow square of side size: the first and last rows are all *, and the rows in between have * only at the two ends with spaces inside.
Implement hollow_square(size).
Input
size: The side length.
Output
Return the rows from top to bottom.
제약 조건
1 ≤ size ≤ 50
예시
예시 1
입력:
size = 4
예상 출력:
expected = ["****", "* *", "* *", "****"]
입력:
long long size = 4;
예상 출력:
std::vector<std::string> expected = {"****", "* *", "* *", "****"};
입력:
long size = 4;
예상 출력:
string[] expected = new string[] {"****", "* *", "* *", "****"};
설명
Rows are "****", "* *", "* *", "****".
예시 2
입력:
size = 1
예상 출력:
expected = ["*"]
입력:
long long size = 1;
예상 출력:
std::vector<std::string> expected = {"*"};
입력:
long size = 1;
예상 출력:
string[] expected = new string[] {"*"};
설명
A 1×1 square is a single "*".
접근 방법
먼저 스스로 풀어 본 뒤 힌트를 하나씩 열어 보세요.
힌트 1
테두리는 채우고 안쪽은 비워 두세요.
힌트 2
첫째 줄과 마지막 줄은 가운데 줄과 다르게 처리하세요.
힌트 3
크기가 1이면 한 칸이 테두리이자 모서리이므로 채워져 있어야 합니다.
예상 복잡도
시간 O(size^2), 추가 공간 O(size^2)
참고 자료
이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.