Softeer. 나무공격

juniping·2025년 2월 5일

오랜만에 국내 사이트에서 문제를 풀어봤다. 입출력 같은 부분에서 적응이 덜 되었지만, 모두 이전에 쉽게 풀던 수준의 문제들이다. 얼른 적응해서 코딩 테스트 풀이 능력을 최대로 끌어올리고싶다. lets go.


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

public class Main {



    public static void main(String[] args) throws IOException {

        /* 1. 선언부 ******************************************************/
        
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        int n = Integer.parseInt(st.nextToken()); // 행의 갯수
        int m = Integer.parseInt(st.nextToken()); // 열의 갯수
        int attackArray[][] = new int[2][2]; // 공격에 대한 이차원 배열
        int survivedDestroyer = 0; // 생존한 파괴범
        int result = 0;

        /* 2. 입력부 ******************************************************/
        
        // 그래프에서 각 행의 환경 파괴범을 카운트
        int arr[] = new int[100]; // 환경 파괴범 갯수를 나타내는 배열
        
        for (int i=0; i<n; i++){
            st = new StringTokenizer(br.readLine());
            int cnt = 0;
            
            for(int j=0; j<m; j++){
                if(Integer.parseInt(st.nextToken()) > 0){
                    cnt++;
                }
            }
            arr[i] = cnt; // 각 행의 환경 파괴범 저장.
        }

        // 1번쨰 공격 입력
        st = new StringTokenizer(br.readLine());
        
        attackArray[0][0] = Integer.parseInt(st.nextToken())-1;
        attackArray[0][1] = Integer.parseInt(st.nextToken())-1;
        
        // 2번째 공격 입력
        st = new StringTokenizer(br.readLine());
        attackArray[1][0] = Integer.parseInt(st.nextToken())-1;
        attackArray[1][1] = Integer.parseInt(st.nextToken())-1;

        /* 3. 실행부 ******************************************************/

        // 파괴범 공격 진행
        for (int i=0; i<2; i++){
            for(int s = attackArray[i][0]; s <= attackArray[i][1]; s++){
                if(arr[s]>0){
                    arr[s]--;
                }
            }
        }

        for(int i=0; i<arr.length; i++){
            result += arr[i];
        }

        System.out.println(result);
    }
}
profile
도전, 영원한 젊음

0개의 댓글