-
์ผ๋ช ๋ฌํฝ์ด๋ฌธ์ ! 1ํ๋ ๋ ๋์๋ฆฌ์์ ํ์๋ ๊ธฐ์ต์ด ์๋ก์๋ก ๋ฌ๋ค. ์ด ๋ฌธ์ ๋ n์ ์์ ๋ฐ๋ผ nxn ๋ชจ์์ matrix๋ฅผ ์์ฑํ๊ณ , ๊ทธ ์์ ๋ฌํฝ์ด ๊ป์ง ์ฒ๋ผ ๋์ ํ์ผ๋ก ์ซ์๋ฅผ ์ฑ์์ค์ผ ํ๋ค.
์ฌ๋ฌ ๋ฐฉ๋ฒ์ผ๋ก ํ ์ ์์ผ๋, ์ฌ๊ธฐ์๋ ๊บฝ์ฌ์ผ ํ๋ ๋ชจ์๋ฆฌ ์ ์ ๋๋ฌํ๋์ง๋ฅผ ์กฐ๊ฑด์ผ๋ก ๋ฃ๊ณ , ๋๋ฌํ๋ค๋ฉด ๋ฐฉํฅ์ ๊บพ์ด์ฃผ๋ ๋ฐฉ์์ผ๋ก ํ์ดํ๋ค.
class Solution { public: vector<vector<int>> generateMatrix(int n) { vector<vector<int>> mat (n, vector<int>(n)); int row = 0; int col = 0; int max = n-1; int direc = 0; // -> / v / <- / ^ for (int i=0; i<n*n; i++){ if (row == max && col == max || row == max && col == direc/4 || row == direc/4 && col == max || i!=0 && row == direc/4 + 1 && col == direc/4){ direc++; if (direc%4 == 0) max--; } mat[row][col] = i + 1; if (direc%4 == 0) col++; //-> else if (direc%4 == 1) row++; // v else if (direc%4 == 2) col--; // <- else if (direc%4 == 3) row--; // ^ } return mat; } };
'๐STUDY > ๐ coding test๋๋น' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[LeetCode] 2. Add Two Numbers (0) 2022.01.15 [LeetCode] 328. Odd Even Linked List (0) 2022.01.15 [๋ฐฑ์ค] 1158๋ฒ ์์ธํธ์ค ๋ฌธ์ (0) 2020.02.08 ๋๊ธ