공부기록/Java

System.setIn()

jhs0129 2022. 8. 22. 17:38
320x100
반응형

코딩테스트를 연습하면서 백준 사이트를 자주 이용을 했다

항상 테스트케이스를 복사 붙혀넣기를 반복적으로 해서 사용을 했고 귀찮음은 있었지만 그렇게 불편하지는 않아 계속 이 방식으로 사용해 왔다

최근 친구와 같이 만나 문제를 푸는 도중 간단한 방법을 하나 알려주어서 사용해 봤는데 내가 지금까지 한 방식이 너무 멍청할 정도로 편한 것이어서 작성을 한다

public class Main {
    public static void main(String[] args) throws IOException {
        System.setIn(new FileInputStream("txt파일 경로"));
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        StringTokenizer st = new StringTokenizer(reader.readLine(), " ");
        int row = Integer.parseInt(st.nextToken());
        int col = Integer.parseInt(st.nextToken());

        String[][] chess = new String[row][col];
        for (int i = 0; i < row; i++) {
            chess[i] = reader.readLine().split("");
        }

        int answer = Integer.MAX_VALUE;
        for (int i = 0; i <= row - 8; i++) {
            for (int j = 0; j <= col - 8; j++) {
                answer = Math.min(answer, check(i, j, chess));
            }
        }

        System.out.println(answer);
    }
}

백준 체스판 다시 칠하기 문제의 일부이다

System.setIn()메소드를 사용하여 미리 입력값을 txt파일에 작성을 해두고 그뒤로는 사용하는 것이 동일 하였다

파일 경로 작성에 대해서는 Intellij 사용하는 사람들은 파일 클릭 후 Ctrl+Shift+c 단축키를 통해서 전체 경로를 복사 가능하다

320x100
반응형