728x90
    
    
  
어우 여러 언어로 코테 준비 하려고 하니, input 부터 막힌다...
가볍게 몸풀겸 쉬운 문제 하나
input 은 bufferedReader를 사용한다.
근데 꼭 try, catch문을 써야 에러가 안뜬다.
import java.io.*;
import java.util.*;
public class Main {
    public static void main(String[] args) {
        try{
        	BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
            String input = bf.readLine();
            System.out.println(input);
        } catch (IOException e){
        System.out.println(e);
        }
    }
}
리스트 선언
List<Integer> row = new ArrayList<>();
최종 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Main {
    public static void main(String[] args) {
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String[] input = br.readLine().split(" ");
            int n = Integer.parseInt(input[0]);
            int m = Integer.parseInt(input[1]);
            int total = 0;
            List<List<Integer>> board = new ArrayList<>();
            for (int i = 0; i < n; i++) {
                List<String> row = List.of(br.readLine().split(" "));
                List<Integer> row_inst = new ArrayList<>();
                for (String s : row) {
                    int s_int = Integer.parseInt(s);
                    if (s_int == 1) total ++;
                    row_inst.add(s_int);
                }
                board.add(row_inst);
            }
            for (int i = 0; i < 2; i++) {
                String[] attackCounts = br.readLine().split(" ");
                int first = Integer.parseInt(attackCounts[0]) - 1;
                int second = Integer.parseInt(attackCounts[1]) - 1;
                total = total - attack(first, second, board);
            }
        System.out.println(total);
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    private static int attack(int first, int second, List<List<Integer>> board) {
        int killed = 0;
        for (int i = first; i <= second; i++) {
            for (int j = 0; j < board.get(i).size(); j++) {
                if (board.get(i).get(j) == 1) {
                    board.get(i).set(j, 0);
                    killed += 1;
                    break;
                }
            }
        }
        return killed;
    }
}728x90
    
    
  '코딩테스트' 카테고리의 다른 글
| 2020 KAKAO RECRUITMENT - 가사검색 (2) | 2025.01.15 | 
|---|---|
| 백준 11657 타임머신 (0) | 2025.01.14 | 
| 1226. [S/W 문제해결 기본] 7일차 - 미로1 (4) | 2024.11.17 | 
| 1249. [S/W 문제해결 응용] 4일차 - 보급로 (0) | 2024.11.17 | 
| 1210. [S/W 문제해결 기본] 2일차 - Ladder1 (0) | 2024.11.17 | 
