์ฒด๊ฐ Level : โ
โ
โ
Review: ๋๋ฌผ์ด ๋๋ค... ์ด๋ ๊ฒ ์ด๋ ค์ด ๋ฌธ์ ๊ฐ ๋์ฌ๋๋ฉด ์กฐ๊ฑด ์ก๋๊ฒ ๋๋ฌด ์ด๋ ต๋ค. ๊ทธ๋๋ ๋์ ํ์ผ๋ก ๋ฐฐ์นํ๋ ๊ฒฝ์ฐ ๊บพ์ด๋ ๊ธฐ์ค (์ฆ๊ฐ)์ผ๋ก ํ๋ฉด ๋๋ ๊ฑธ ์์๋ค. (ํผ์ ๋ค์ ํ์ด๋ณด๋ผ๊ณ ํ๋ฉด ๋ชป ํ ๊ฒ ๊ฐ์,,) |
ํ๋จ ๋ธ๋ก๊ทธ ์ด๋ก ๋ณด๊ณ ํํธ๋ฅผ ์ป์ด๋ดค์ง๋ง ๋์ ํ........ ์ฝ๋๋ฅผ ๋ชป ์ง๊ฒ ์ด์
https://blog.naver.com/PostView.nhn?blogId=tipsware&logNo=221294854442
start = 0 ;
end = n;
x = 0 ,y =0;
(start,0) ~ (start, end) --->y ๊ฐ ์ฆ๊ฐ
(1,end-1) ~(n,end-1) --->x ๊ฐ ์ฆ๊ฐ
(end-1,end-2) ~ ( end-1 , 0) --->y ๊ฐ ๊ฐ์
(end-2,0) ~(1,0) --->x ๊ฐ ๊ฐ์
์ด๋ฐ ๊ท์น์ด ์๊ธฐ๊ฒ ๋๋ค.
ํ๋ฐํด ๋๋ ค์ฃผ๊ณ , start , end ๊ฐ์ ์กฐ์ ํด์ค๋ค.
( ์์ผ๋ก ๋ค์ด๊ฐ ์๋ก ํฌ๊ธฐ๊ฐ ์์์ง๋ฏ๋ก ์กฐ์ ์ด ํ์ํจ)
class Solution {
public int[][] solution(int n) {
int[][] answer = new int[n][n];
int num=1;
int start=0;
int end=n;
while(num <= n*n){
//->
for(int j=start;j<end;j++)
answer[start][j]=num++;
//v
for(int i=start+1;i<end;i++)
answer[i][end-1]=num++;
//<
for(int j=end-2;j>=start;j--)
answer[end-1][j]=num++;
//^
for(int i=end-2;i>start;i--)
answer[i][start]=num++;
start++;
end--;
}
return answer;
}
}