공지사항

  • 깃허브랑 블로그의 운영 고민과 결론
즐거운 개발계발
무한한 계발
즐거운 개발계발

블로그 메뉴

  • 글쓰기
  • 관리자 페이지
  • 분류 전체보기 (26)
    • GitHub Project (0)
    • 소소한 공부 메모 (12)
    • 오픈 다이어리 (0)
    • WEB (3)
      • [자바 웹개발 워크북 - 프리렉 출판] (2)
      • 서블릿 & JSP (1)
    • Java (5)
    • DB (Oracle) (0)
    • Spring (0)
    • SQLD (1)
    • Front-End (1)
      • CSS (1)
    • Tools (3)
      • Git (1)
      • Visual Studio Code (1)
      • 파워포인트 (1)
    • CI_CD (0)
    • Coding Test (1)
      • Problem Solving (0)
      • Tips (1)
hELLO · Designed By 정상우.
즐거운 개발계발

무한한 계발

Coding Test/Tips

자바 기본 입출력 (코테전용)

2023. 1. 31. 06:31

출처: https://i5i5.tistory.com/725

개요

자바 언어로 코딩테스트를 할 때, 입력값을 받는 방법
BufferdReader와 StringTokenizer를 활용하는 방법이 있다.

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

public class main {
    static int[][] arr = new int[301][301];

    public static void main(String[] args) throws IOException {
        // << 입력부 >>
        // n행 m열 배열은 입력받는다고 생각해보자.
        // 예) 4행 3열짜리 2차원배열을 입력받아보자.
        // 받은 후 그대로 출력하기.
        /*
4행 3열
1 2 3
3 4 5
6 7 1
1 2 3
        */
        // Buffered Reader를 통해, 시스템기본(키보드) 입력을 목적으로, 인풋스트림리더를 하나 만든다.
        // 그 후, br.readLine() 메서드로 한줄 읽고, " "를 기준으로 자른다. 그 후, stk에 저장.        
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer stk = new StringTokenizer(br.readLine()," ");  // 읽은 라인을 " "으로 자른다.

        // 자른 것 중 하나를 n에 저장 후, 그 다음 것을 m에 저장.
        int n = Integer.parseInt(stk.nextToken());
        int m = Integer.parseInt(stk.nextToken());

        // 그 다음 부터 행의 갯수만큼 라인을 입력받아서, StringTokenizer로 자를 예정임.
        for (int i = 0; i < n; i++) {
            stk = new StringTokenizer(br.readLine(), " ");
            for (int j = 0; j < m; j++) {
                arr[i][j] = Integer.parseInt(stk.nextToken());
            }            
        }

        // << 출력부 >> (테스트하기)
        StringBuilder sb = new StringBuilder();
        sb.append("n : " + n + ", m : " + m).append('\n');

        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                sb.append(arr[i][j]);
            }
            sb.append('\n');
        }
        System.out.println(sb);
    }
}
저작자표시 (새창열림)
    즐거운 개발계발
    즐거운 개발계발
    웹개발을 공부하며 기록을 남기기 위한 블로그 입니다. 댓글로 서로 소통하며 같이 공부해요 깃허브: https://github.com/klssh3126

    티스토리툴바