Yim-HaEun

[백준]11718번 그대로 출력하기 문제 풀다가 화나서 쓰는 글 (지나가십쇼) 본문

Java/Programmers 코테 풀이

[백준]11718번 그대로 출력하기 문제 풀다가 화나서 쓰는 글 (지나가십쇼)

Yim_Ha_Eun 2024. 9. 22. 03:07

아 뭐 어떡하라고,어떻하라고,우뜩하라고,어뜩하라고,어떠콰라고,우뜨콰라고!!!!

문장 출력 하는데 드럽게 까다롭네

 

 

 

 

3일차에 52문제 푸는중이었고.. 최대한 쉬운건 빨리 해결하고 넘어가고싶은데

 

풀다보니 불친절한 조건들(?) 때문에 화남.

뭔가 하나라도 수틀리면 아무래도

이러니까

 

 

 

백준은 프로그래머스랑 다르게 틀리는 문제에 대한 시도도 카운트해서 

싫(어졌)다.

 

 

 이번 문제 같은경우는 100개라는 max값을 주길래 읭?하고 그냥 for문 썼다가 생각해보니

입력을 더이상 안하면 null값이 생겨서 BufferedReader Writer 써서 flush 방법을 쓰기로함.

 

여기서 첫번째 문제직면,

각 줄은 공백으로 시작,끝나지 않는다해서 .trim()을 끼워넣었는데 (굳이 필요한건 아닌거같은데 혹시몰라서 넣음)

 

'끝날때 빈 줄은 주어지지않는다'

이걸 구현할때 bw.write위치때문에 자꾸 틀렸다고 나옴

저기로 넣으면 if문으로 넘어가서 공백칸을 입력해야 끝난줄알게됨.

생각해보면 아래처럼 쓰는게 맞다. 

import java.io.*;
public 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));
		String str;
		while(true) {
			str = br.readLine();
			if(str == null || str.trim().isEmpty()) {
				break;
			}
		 bw.write(str+"\n");
		}
		
		bw.flush();
		br.close();
		bw.close();
		
	}
}

이게 웃긴게 이클립스에선 어차피 값을 내려면 엔터를 쳐서 공백이 생긴다.

(?) 

 

간단한 문제도 생각하면서 풀어야하는게 맞긴한데

이클립스에서 먼저 테스트해서 제출하니까 뭐가 다른지 깊게 생각안하면 못찾는다.

위치를 바꿔도 공백줄이 보이니까(?) 

 

ㅇㅇ... 아 새벽이라 내가 지금 뭘 말하는지 모르겠다. 

 

 

결론