알고리즘

java 입, 출력받기

육빔 2024. 6. 30. 16:39
728x90
반응형

언어 전환 이유

 

최근 코테를 보러다니면서 화가 너무나서 java로 코테 공부를 시작하기로 다짐했다. 알고리즘적 사고와 해당 직무에 대한 언어 두가지 다 평가할 수 있는 좋은 요소라고 회사측에서 판단한 것 같았다. 

현대오토에버도 코테를 보는데 java만 사용가능해서 입력부분에서 막혀서 알고리즘은 전부 아는데 풀질 못했다.

 

 

한 줄에 입력받기

 

python 코드

n, m = map(int, input().split())

 

java 코드

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());

 

m, n 배열에 입력 받기

 

python 코드

m, n = map(int, input().split())
arr = []
for i in range(n):
    arr.append(list(map(int, input().split())))

 

java 코드

int m = Integer.parseInt(st.nextToken());
int n = Integer.parseInt(st.nextToken());

int[][] arr = new int[n][m];

// Reading the matrix elements
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());
    }
}

 

출력하기

 

흔히 아는 System.out.println도 괜찮지만 성능을 빠르게 하려면 아래를 권장한다.

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // 선언
String str = "asdasd"; // 출력할 문자열
bw.write(s); // 출력
bw.newLine(); // 줄바꿈
bw.flush(); // 남아있는 데이터 모두 출력
bw.close(); // 종료

 

728x90
반응형