https://swexpertacademy.com/main/code/problem/problemDetail.do
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
접근 방법
가로(x), 세로(y), 대각선(d) 배열을 생성하고
입력 받음과 동시에 규칙을 검사하면서 더해 줬다.
이후 값들을 정렬시키고 Math.max 하여 최댓값을 구했다.
문제를 푸는 것에만 집중했기 때문에 그닥 구성 있는 코드는 아닌 듯하다.
소스 코드
import java.util.*;
import java.io.*;
class Solution
{
public static void main(String args[]) throws Exception
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = 10;
int num = 100;
for(int test_case = 1; test_case <= T; test_case++)
{
String tc = br.readLine();
int[] x = new int[num];
int[] y = new int[num];
int[] d = new int[2];
for(int i=0; i<num; i++) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
for(int j=0; j<num; j++) {
int tmp = Integer.valueOf(st.nextToken());
x[j] += tmp;
y[i] += tmp;
if(i == j)
d[0] += tmp;
if(i+j == num-1)
d[1] += tmp;
}
}
Arrays.sort(x);
Arrays.sort(y);
System.out.println("#" + tc + " " + Math.max(Math.max(x[num-1], y[num-1]), Math.max(d[0], d[1])));
}
}
}
'코테 > 자바' 카테고리의 다른 글
[SWEA] 1244. 최대 상금 (0) | 2023.05.18 |
---|---|
[SWEA] 2814. 최장 경로 (0) | 2023.05.17 |
[SWEA] 1240. 단순 2진 암호코드 (0) | 2023.05.17 |
[SWEA] 1208. Flatten (0) | 2023.05.17 |
[SWEA] 1206. View (0) | 2023.05.17 |