[코딩 테스트 RUN] SWEA 수업 : 20230. 풍선팡 보너스게임2

코테런/SWEA(알고리즘 수업)
2026.03.09

 

⚠️ 주의!
SWEA에서 낸 코딩 문제에 대한 해답이 들어있습니다.
열람 시 주의해주세요.

 

[SW Expert Academy] 20230. 풍선팡 보너스게임2

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

왜 이게 D2지… 1ver에서 min값 구하지 않고 바로 max 갱신해서 출력하면 된다.

 

https://bbbbabbbababababa.tistory.com/108

 

[코딩 테스트 RUN] SWEA 수업 : 풍선팡 보너스 게임

⚠️ 주의!SWEA에서 낸 코딩 문제에 대한 해답이 들어있습니다.열람 시 주의해주세요. [SW Expert Academy] 18575. 풍선팡 보너스 게임 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습

bbbbabbbababababa.tistory.com

 

 

정답

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int T = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();

        for(int test_case = 1; test_case <= T; test_case++) {
            int N = Integer.parseInt(br.readLine());
            int[][] arr = new int[N][N];
            int[] columnSum =  new int[N];
            int[] rowSum =  new int[N];


            for(int i = 0; i < N; i++){
                StringTokenizer st = new StringTokenizer(br.readLine());
                
                for (int j = 0; j < N; j++) {
                    arr[i][j] = Integer.parseInt(st.nextToken());
                    //추가로 for문 순회할 필욘 없음.
                    columnSum[j] += arr[i][j];
                    rowSum[i] += arr[i][j];
                }
            }

            int max = rowSum[0] + columnSum[0] - arr[0][0];

            for (int i = 0; i < N; i++) {
                for (int j = 0; j < N; j++) {
                    int thisSum = rowSum[i] + columnSum[j] - arr[i][j];
                    max = Math.max(max, thisSum);
                }
            }

            sb.append("#").append(test_case).append(" ").append(max).append("\n");

        }

        System.out.print(sb);
    }
}