2022년 04월 13일 수요일 - 아우 졸려
오늘 올려볼 문제는 59번 Spiral Matrix II 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
편함을 위해 속도를 희생했다
입력
사진에서도 볼 수 있듯이 int 값 1개가 입력으로 들어온다.
풀이 및 코드
n * n 크기의 2차원 배열에 오른쪽으로 회전하면서 값을 채우고 리턴하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
가는 방향에 대한 값을 미리 정의해두고 try catch를 써서 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
class Solution {
public int[][] generateMatrix(int n) {
int[][] result = new int[n][n];
int[] x = {1, 0, -1, 0};
int[] y = {0, 1, 0, -1};
int index = 0, yIndex = 0, xIndex = 0;
int i = 1;
while(i <= n * n)
{
try
{
if(result[yIndex][xIndex] > 0) throw new Exception("");
result[yIndex][xIndex] = i++;
xIndex += x[index];
yIndex += y[index];
}
catch(Exception e)
{
xIndex -= x[index];
yIndex -= y[index];
index++;
index %= 4;
xIndex += x[index];
yIndex += y[index];
}
}
return result;
}
}
제출 화면
오늘은 문제 풀기가 좀 귀찮아서 속도를 희생했다.
내일은 좀 덜 귀찮은 문제가 나왔으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 538번 문제를 풀어보았다. (ft. java) (0) | 2022.04.16 |
---|---|
[LeetCode] 700번 문제를 풀어보았다. (ft. java) (0) | 2022.04.14 |
[LeetCode] 289번 문제를 풀어보았다. (ft. java) (0) | 2022.04.12 |
[LeetCode] 1260번 문제를 풀어보았다. (ft. java) (0) | 2022.04.11 |
[LeetCode] 682번 문제를 풀어보았다. (ft. java) (0) | 2022.04.10 |