알고리즘 단련장/소프티어

[소프티어] 나무 공격 레벨2 자바 풀이

dcho 2024. 10. 28. 21:04
SMALL

https://softeer.ai/practice/9657

 

Softeer - 현대자동차그룹 SW인재확보플랫폼

 

softeer.ai

 

 

 

 

레벨2를 맨처음 필터하면 나오는 문제 나무 공격이다.
게임 요소를 가미한 게이미피케이션 느낌의 문제였다. 

 

 

레벨2가 되니 조금 지문이 길어진 느낌이다. 하지만 문제 난이도는 생각보다 간단한것같다.

 

 

위치만 잘 지정해두고 반복을 잘 돌리면 해결이 되는 문제였다.

 

 

import java.io.*;
import java.util.*;

public class Main {
    private static int dap = 0;
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");

        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());
        int[][] arr = new int[n][m];

        for (int i = 0; i < n; i++) {
            st = new StringTokenizer(br.readLine(), " ");
            for (int j = 0; j < m; j++) {
                arr[i][j] = Integer.parseInt(st.nextToken());
            }
        }

        st = new StringTokenizer(br.readLine(), " ");
        int l1 = Integer.parseInt(st.nextToken());
        int r1 = Integer.parseInt(st.nextToken());
        st = new StringTokenizer(br.readLine(), " ");
        int l2 = Integer.parseInt(st.nextToken());
        int r2 = Integer.parseInt(st.nextToken());


        attack(arr, l1, r1);
        attack(arr, l2, r2);

        check(arr);

        bw.write(dap + "\n");

        bw.flush();
        bw.close();
    }

    private static void attack(int[][] arr, int l, int r) {
        for (int i = l - 1; i <  r; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                if (arr[i][j] == 1) {
                    arr[i][j] = 0;
                    break;
                }
            }
        }
    }

    private static void check(int[][] arr) {
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                if (arr[i][j] == 1) {
                    dap += 1;
                }
            }
        }
    }
}