본문 바로가기
코딩테스트/SWEA

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

by PEKAH 2021. 9. 23.

문제

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

 

SW Expert Academy

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

swexpertacademy.com

 

풀이

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

 

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

 

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);
		}
	}
}

 

 

 

'코딩테스트 > SWEA' 카테고리의 다른 글

[JAVA] 1251번 하나로  (0) 2021.09.22
[JAVA] 1249번 보급로  (0) 2021.09.21
[JAVA] 1248번 공통조상  (0) 2021.09.20
[JAVA] 1247번 최적 경로  (0) 2021.09.19
[JAVA] 1859번 백만 장자 프로젝트  (0) 2021.08.26

댓글