ejyoo's 개발 노트

10718번 : We love kriii 본문

문제풀이/백준 입출력과 사칙연산

10718번 : We love kriii

ejyoovV 2021. 3. 3. 10:42

👉🏻 4가지 풀이 방법을 이용한다.

크게 System 클래스, BufferedReader, StringBuilder, StringBuffer를 이용하여 풀이한다.

👉🏻 방법 1 (System 클래스 - 표준 입출력)

public class Main {
	public static void main(String[] args){
		System.out.println("강한친구 대한육군");
		System.out.println("강한친구 대한육군");
		
//		System.out.printf("%s","강한친구 대한육군\n강한친구 대한육군");
//		System.out.printf("%s\n%s","강한친구 대한육군","강한친구 대한육군");
//		System.out.printf("강한친구 대한육군\n강한친구 대한육군");
	}
}

단순 출력 시 println()을 쓰면되고

그 외에는 특정 순서에 따라 개행('\n')하거나 문자열과 숫자 등 서로 다른 타입을 다룰 때는 printf(); 또는 print();를 쓴다.

👉🏻 방법 2 BufferedWriter

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		bw.write("강한친구 대한육군");
		bw.newLine();
		bw.write("강한친구 대한육군");
		
		bw.flush();
		bw.close();
	}
}

  • 👉🏻 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); 설명

    Buff 는 데이터를 다른 곳으로 이동시키기 전에 일시적으로 데이터를 보관하는 임시 메모리 영역이다.

    BufferedWriter는 시스템의 버퍼를 이용하여 출력하는 문자 스트림(캐릭터 단위 스트림)이라는 것.

    OutputStreamWriter()는

    Stream의 의미를 알아야한다.

    한 지점에서 데이터를 단일 방향으로 목표지점에 도착하는 중간 매개체 또는 흐름(통로)이라고 보면 된다.

    이때 운영체제에 따라 기본 인코딩 방식이 다른데 이를 알아서 변경해준다.

    BufferedWriter 은 문자 스트림이고 OutputStreamWriter()은 문자 스트림을 바이트 스트림으로 변환해주는 스트림이다.

    bw.newLine(); 이 추가되엇는데 이 메소드는 개행을 해주는 메소드다.

    참고로 newLine();은 '\n'과 같은 역할은 하지만 같은것은 아니다.

    자바 api에는 이렇게 설명되어 있다.

이후 bw.flush() 로 스트림에 들어있는 데이터를 비운다.

그리고 꼭 bw.close()로 스트림을 종료해준다.

👉🏻 방법 3 StringBuilder

public class Main {
	public static void main(String[] args) {
		StringBuilder sb = new StringBuilder();
		sb.append("강한친구 대한육군\n");
		sb.append("강한친구 대한육군");
		
		System.out.println(sb);
	}
}

문자열을 이어 붙이는 것이기 때문에 사실상 sb에 연결되어 있는 문자열은

"강한친구 대한육군\n강한친구 대한육군"이다.

👉🏻 방법 4 StringBuffer

public class Main {
	public static void main(String[] args) {
			StringBuffer sb = new StringBuffer();
			sb.append("강한친구 대한육군\n");
			sb.append("강한친구 대한육군");
			
			System.out.println(sb);
		}
}

'문제풀이 > 백준 입출력과 사칙연산' 카테고리의 다른 글

2557번 : Hello World 출력하기  (0) 2021.03.03
10171번 : 고양이  (0) 2021.03.03
10172번 : 개  (0) 2021.03.03
1000번 : A+B  (0) 2021.03.03
1001번 : A-B  (0) 2021.03.03