μ΅œλŒ€ 1 λΆ„ μ†Œμš”

πŸ“ [D3_2805] λ†μž‘λ¬Ό μˆ˜ν™•ν•˜κΈ°

import java.util.Scanner;
 
public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        int tc = sc.nextInt();
 
        for (int t = 1; t <= tc; t++) {
            int N = sc.nextInt();
            int sum = 0;
 
 
            // μž…λ ₯
            int[][] arr = new int[N][N];
 
            for (int i = 0; i < N; i++) {
                String str = sc.next();
                for (int j = 0; j < N; j++) {
                    arr[i][j] = str.charAt(j) - '0';
                    sum += arr[i][j];
                }
            }
 
            // μœ„μ— 빈자리 μ—†μ• κΈ°
            for(int i=0; i<N/2; i++) {
                for(int j=0;j<N/2-i;j++) {
                    sum -= arr[i][j];       // μ™Όμͺ½ μœ„
                    sum -= arr[i][N-j-1];   // 였λ₯Έμͺ½ μœ„
                }
            }
             
             
            // 밑에 빈자리 μ—†μ• κΈ°
            for(int i=N/2+1;i<N;i++) {
                for(int j=0;j<(i-N/2);j++) {
                    sum -= arr[i][j];       // μ™Όμͺ½ μ•„λž˜
                    sum -= arr[i][N-j-1];   // 였λ₯Έμͺ½ μ•„λž˜
                }
            }
             
            // 좜λ ₯
            System.out.println("#" +t+ " " + sum);
        }
    }
}

πŸ€” λ‚˜μ˜ 생각

μ²˜μŒμ—λŠ” 4λ°©ν–₯ νƒμƒ‰μœΌλ‘œ μ ‘κ·Όν•΄λ³ΌκΉŒ μƒκ°ν–ˆλŠ”λ°, μƒκ°ν–ˆλ˜ 것보닀 λ³΅μž‘ν•΄μ„œ 생각을 μ’€ λ°”κΏ”λ³΄μ•˜λ‹€.
차라리 for 별 μ°μ„λ•Œ 처럼 문제λ₯Ό ν•΄κ²°ν•˜μž !
κ·Έλž˜μ„œ 전체 값듀을 λ‹€ 더해주고 빈 곡간을 λΉΌμ£ΌλŠ” μ‹μœΌλ‘œ ꡬ쑰λ₯Ό μ§°λ‹€.