[JAVA] 2805번 농작물 수확하기

[JAVA] 2805번 농작물 수확하기

문제

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GLXqKAWYDFAXB

풀이

마름모로 별 찍기를 할 수 있다면 쉽게 풀 수 있는 문제이다.

첫 줄의 중앙으로부터 퍼져가며 값을 더하면 정답을 구할 수 있다.

import java.io.BufferedReader; import java.io.InputStreamReader; public class 농작물수확하기 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); for (int tc = 1; tc <= T; tc++) { int N = Integer.parseInt(br.readLine()); int arr[][] = new int[N][N]; int result = 0; for (int i = 0; i < N; i++) { String str = br.readLine(); for (int j = 0; j < N; j++) { arr[i][j] = str.charAt(j) - '0'; } } int mid = N / 2; int midL = mid; int midR = mid; for (int i = 0; i < N; i++) { for (int j = midL; j <= midR; j++) { result += arr[i][j]; } if (i < mid) { midL--; midR++; } else { midL++; midR--; } } System.out.println("#" + tc + " " + result); } } }

from http://pekahblog.tistory.com/155 by ccl(S) rewrite - 2021-09-24 07:27:57