728x90
문제
풀이
/*
* 입력
* 1. 테스트 케이스 T
* 2. 농장의 크기 N
* 3. 농장 내 농작물의 가치
* 출력
* 1. 얻을 수 있는 수익
* 조건
* 1. 다이아몬드 모양으로 얻을 수 있음
*/
예전에는 복잡하게 풀었던 것 같은데 다시 풀어 보니까 생각보다 간단했다 N/2으로 계산해서 하나씩 줄여 나가면 된다
코드
package com.ssafy.im;
import java.io.*;
import java.util.*;
public class D3_2805_농작물수확하기 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
for(int tc = 1; tc<=T; tc++) {
int N = Integer.parseInt(br.readLine());
int[][] farm = new int[N][N];
for(int i = 0; i<N; i++) {
String str = br.readLine();
for(int j = 0; j<N; j++) {
farm[i][j] = str.charAt(j) - '0';
}
}
int sum = 0;
//윗부분
for(int i = N/2; i>=0; i--) {
for(int j = N/2-i; j<=N/2+i; j++) {
sum += farm[i][j];
}
}
//아랫부분
for(int i = N/2-1; i>=0; i--) {
for(int j = N/2-i; j<=N/2+i; j++) {
sum += farm[N-i-1][j];
}
}
sb.append("#").append(tc).append(" ").append(sum).append("\n");
}
System.out.println(sb);
}
}
결과
#자바 #java #swea #알고리즘
728x90
'알고리즘 > SWEA' 카테고리의 다른 글
[java][swea][d3] 1873. 상호의 배틀필드 (0) | 2022.02.27 |
---|---|
[java][swea][d3] 1208. Flatten (0) | 2022.02.27 |
[java][swea][d2] 2001. 파리 퇴치 (0) | 2022.02.27 |
[java][swea][d4] 7465. 창용 마을 무리의 개수 (0) | 2022.02.22 |
[java][swea][d3] 6808. 규영이와 인영이의 카드게임 (0) | 2022.02.14 |