Notice
Recent Posts
Recent Comments
Link
개발자는 기록이 답이다
[백준/BOJ][Java][11718] 그대로 출력하기 본문
https://www.acmicpc.net/problem/11718
입출력에 대한 개념이 없어서 진짜 오랜시간동안 굉장히 뻘짓을 많이 했다.
자꾸 Intellij에서는 마지막 입력값인 Online Judge가 출력이 안되서 결국 구글링해서 풀었다.
오히려 이런 문제가 시간이 엄청 오래걸렸는데, 문자열 파트 다 끝나면 입출력 위주로 공부해봐야겠다.
내가 푼 풀이
해당 코드를 intellij에서 실행하면 출력값이 하나도 안나오고 계속 다음 입력 값을 기다린다.
백준에 제출하면 통과하는데, 도대체 왜 IDE에서 출력이 안되는지 모르겠다. 입출력 문제 진짜 너무 답답합니다!
이렇게 내 무지함이 드러나는 순간을 인지하고 더 열심히 해야겠다.
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
while(true) {
String str = br.readLine();
if (str == null || str.isEmpty()) {
break;
}
sb.append(str).append("\n");
}
br.close();
System.out.println(sb);
}
}
메모리 | 시간 | 언어 | 코드 길이 |
11620KB | 80ms | Java 8 | 493B |
구글링한 풀이 1
- hasNext()함수를 이용해서 다음 입력값이 있는지 확인하고 출력한다.
import java.io.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
System.out.println(sc.nextLine());
}
}
}
메모리 | 시간 | 언어 | 코드 길이 |
13836KB | 128ms | Java 8 | 273B |
구글링한 풀이 2
- BufferedReader를 이용해서 Null인지만 체크해주면 된다.
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = "";
while ((str = br.readLine()) != null) {
System.out.println(str);
}
}
}
메모리 | 시간 | 언어 | 코드 길이 |
12108KB | 84ms | Java 8 | 342B |
다른 사람 풀이 1
- IDE에서도 출력되는 코드이다.
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
byte[] b = new byte[7000];
System.in.read(b);
System.out.println(new String(b).trim());
}
}
메모리 | 시간 | 언어 | 코드 길이 |
12892KB | 68ms | Java 8 | 209B |
다른 사람 풀이 2
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String lineReader = null;
boolean isTrue = true;
while(isTrue){
lineReader = br.readLine();
if(lineReader != null){
sb.append(lineReader+"\n");
isTrue = true;
}else{
isTrue = false;
}
}
System.out.println(sb.toString());
}
}
메모리 | 시간 | 언어 | 코드 길이 |
13096KB | 68ms | Java 8 | 598B |
'알고리즘 > 백준' 카테고리의 다른 글
[백준/BOJ][Java][5622] 다이얼 (0) | 2023.08.25 |
---|---|
[백준/BOJ][Java][1152] 단어의 개수 (0) | 2023.08.24 |
[백준/BOJ][Java][2675] 문자열 반복 (0) | 2023.08.24 |
[백준/BOJ][Java][2908] 상수 (0) | 2023.08.24 |
[백준/BOJ][Java][10809] 알파벳 찾기 (1) | 2023.08.24 |