SW Expert Academy - 2805번(농작물 수확하기)

최지홍·2022년 2월 5일
0

SW Expert Academy

목록 보기
4/36

문제 출처: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GLXqKAWYDFAXB&categoryId=AV7GLXqKAWYDFAXB&categoryType=CODE&problemTitle=%EB%86%8D%EC%9E%91%EB%AC%BC&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Solution {

    public static void main(String[] args) throws IOException {
        StringBuilder sb = new StringBuilder();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(reader.readLine());
        int problemNum = 1;

        while (N-- > 0) {
            int size = Integer.parseInt(reader.readLine());
            int start = -1;
            int end = -1;
            String[] target;
            int result = 0;

            for (int i = 0; i < size; i++) {
                if (i <= size / 2) {
                    start = size / 2 - i;
                    end = size / 2 + i + 1;
                } else {
                    start = i - size / 2;
                    end = size - (i - size / 2);
                }
                target = reader.readLine().substring(start, end).split("");
                for (int j = 0; j < target.length; j++) {
                    result += Integer.parseInt(target[j]);
                }
            }

            sb.append("#").append(problemNum++).append(" ");
            sb.append(result).append("\n");
        }

        System.out.println(sb);
    }

}

  • 마름모 모양 별찍기 문제와 같이 풀 수 있었다.
  • 해당 좌표에 해당하는 값들을 더해서 풀 수 있었다.
  • 전체 문자열을 가져와서 해당 좌표에 해당하는 범위의 내용만 substring() 메서드로 추출하여 처리하였다.
profile
백엔드 개발자가 되자!

0개의 댓글