μΌμ± κΈ°μΆμ μ’ μ’ λμ¨ μ μ΄ μλ ꡬν λ¬Έμ .
(0, 0)μμ μμ
SW Expert Academy
SW νλ‘κ·Έλλ° μλ κ°νμ λμμ΄ λλ λ€μν νμ΅ μ»¨ν μΈ λ₯Ό νμΈνμΈμ!
swexpertacademy.com


π κ³ λ €ν΄μΌν μ
- λ€μ μΉΈμ κ° μ μλμ§ νμΈνλ©° λ°©ν₯μ λ°κΏμΌνλ€.
- μΉΈμ λ²μλ₯Ό λμ΄κ° λ
- λ€μ μΉΈμ΄ μ±μμ‘μ λ
- μμ λ κ°μ§ κ²½μ° μ€ νλλΌλ λ§μ‘±νλ€λ©΄ λ°©ν₯μ λ°κΎΌλ€. (μ° β ν β μ’ β μ μμλλ‘)
πΉοΈ νμ΄κ³Όμ
- μ° β ν β μ’ β μ μμλλ‘ λ¬ν½μ΄ λͺ¨μμ 그리며 μ΄λνλ―λ‘ dx, dy λ°°μ΄μ μ€μ νλ€.
- λ°©ν₯μ λ°κΎΈλ 쑰건μ if λ¬Έμ νμ©νμ¬ μ€μ νλ€.
- λ°©ν₯ λ°κΎΈλ κ²μ λͺ¨λλ¬ μ°μ°μ νμ©νμ¬ κ°λ¨νκ² λνλΈλ€. (0 β 1 β 2 β 3 β 0)
dir = (dir+1)%4
- κ²°κ³Όλ₯Ό μΆλ ₯νλ€.
π©π» μ 체 μ½λ
public class SWEA_1954_λ¬ν½μ΄μ«μ {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int[] dx = {0, 1, 0, -1};
int[] dy = {1, 0, -1, 0};
int T = Integer.parseInt(br.readLine());
for(int t=1; t<=T; t++) {
st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int[][] arr=new int[N][N];
int dir=0;
int x=0;
int y=0;
for(int i=1; i<=N*N; i++) {
arr[x][y] = i;
int nx = x + dx[dir];
int ny = y + dy[dir];
// λ²μλ₯Ό λ²μ΄λκ±°λ λ€μ μΉΈμ μ΄λ―Έ κ°μ΄ μ±μμ‘λ€λ©΄ λ°©ν₯μ λ°κΎΌλ€.
if(nx>=N || ny>=N || nx<0 || ny<0 || arr[nx][ny]>0) {
dir = (dir+1)%4;
}
x+=dx[dir];
y+=dy[dir];
}
bw.write("#"+t+ "\n");
for(int i=0; i<N; i++) {
for(int j=0; j<N; j++) {
bw.write(arr[i][j] + " ");
}
bw.write("\n");
}
}
bw.flush();
bw.close();
}
}
'μκ³ λ¦¬μ¦ > SWEA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[SWEA] 2814 μ΅μ₯κ²½λ‘ - Java (0) | 2023.11.15 |
---|