● 문제
● 풀이 : 간단한 N개의 수를 입력받고 오름차순으로 정렬하는 것이다.
시간, 메모리 제한이 있어 안될걸 예상하고 한 항상 풀던 코드 (역시나 안됨)
import java.util.Arrays;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[] arr = new int[in.nextInt()];
for (int i = 0; i <arr.length; i++) {
arr[i] = in.nextInt();
}
Arrays.sort(arr);
for (int i = 0; i <arr.length; i++) {
System.out.println(arr[i]);
}
}
}
혹시나 해서 챗 지피티에게 위 코드를 scanner 대신 bufferReader를 사용한 코드로 바꿔달라 하였다.
그런데 웬일 코드 통과 !
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
int[] arr = new int[N];
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(arr);
for (int i = 0; i < N; i++) {
bw.write(Integer.toString(arr[i]));
bw.newLine();
}
bw.flush();
br.close();
bw.close();
}
}
계속 간단한 scanner 방식만 사용하였는데, 이렇게 메모리 제한 문제가 계속 나오는것으로 보아
하루빨리 bufferReader 방식을 손에 익혀야겠다 ..
한 줄씩 뜯어보며 주석달아둔 코드
import java.io.*;
import java.util.Arrays;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
//첫 번째 줄 문자열로 입력받고 정수로 변환
int N = Integer.parseInt((br.readLine()));
int[] arr = new int[N];
for(int i = 0; i< N; i++){
//문자열로 입력받고 정수로 변환 후 배열에 저장
arr[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(arr);
for(int i = 0; i< N; i++){
//정수를 문자열로 변환 (BufferWriter 는 문자열을 처리하므로 출력할 값을 문자열로 변환)
bw.write(Integer.toString(arr[i]));
//줄바꿈
bw.newLine();
}
//출력 버퍼 지우기
bw.flush();
//br, bw 리소스 해제
br.close();
bw.close();
}
}
'백준' 카테고리의 다른 글
[백준] 1436 영화감독 숌_ JAVA (2) | 2023.06.09 |
---|---|
[백준] 1181 단어 정렬_ JAVA (0) | 2023.06.09 |
[백준] 2775 부녀회장이 될테야_ JAVA (0) | 2023.06.06 |
[백준] 1259 펠린드롬수_ JAVA (0) | 2023.06.05 |
[백준] 2798 블랙잭_ JAVA (0) | 2023.06.03 |