- BOJ ๋ฌธ์ ํ์ด 2020.01~
- ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋ ์ ๋ฆฌ
์๊ณ ๋ฆฌ์ฆ ๋ชฉ์ฐจ |
---|
Array |
BackTracking |
Data Structure |
Divide And Conquer |
Dynamic Programming |
Graph |
Greedy |
- BOJ
- SW Expert Academy
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));//์ ์ธ
String string = bufferedReader.readLine(); // ํ์ค์ ๋ฐ์์ด
StringTokenizer stringTokenizer = new StringTokenizer(string); //ํ ํฌ๋์ด์ ธ๋ฅผ ํตํด ํ์ฑ, ๋์ด์ฐ๊ธฐ ๋จ์
int a = Integer.parseInt(stringTokenizer.nextToken());
์ฌ๋ฌ ์ค ์ ๋ ฅ ๋ฐ์๋
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String string;
while((string=bufferedReader.readLine())!=null){
// string ํ์ค
}
Buffered Stream
: ๊ธฐ๋ณธ ์ ์ถ๋ ฅ ์คํธ๋ฆผ์ ๋ฒํผ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ์คํธ๋ฆผ- ์ ๋ ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ค๊ฐ์ ๋ฒํผ๋ง์ด ๋ ํ์ ์ ๋ฌ๋๋ฉฐ, ์ถ๋ ฅ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฒํผ๋ฅผ ๊ฑฐ์ณ์ ์ถ๋ ฅ๋
- ์ค๊ฐ๋ฒํผ๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ์์คํ ์ ๋ฐ์ดํฐ์ฒ๋ฆฌ ํจ์จ์ฑ์ด ๋์์ง!
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out)); //์ ์ธ
bufferedWriter.write("Hello World!");๋
bufferedWriter.flush();
bufferedWriter.newLine(); // ์ค๋ฐ๊ฟ์ด ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฉ
bufferedWriter.close(); // ๋ฒํผ ๋ซ๊ธฐ
write()
: ์ง์ ์ถ๋ ฅ stream์ ๋ฐ์๋๋ ๊ฒ์ด Xflush()
: ์ฑ๋ฅ์ ์ํด buffer์ ์ ์ฅํด ๋์๋ค๊ฐ BufferedWriter๊ฐ flush๋๊ฑฐ๋ close๋์์ ๋ ํ๋ฒ์ ์ถ๋ ฅ stream์ ๋ฐ์!close()
: ์์ stream์ ๋ซ์๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์, ๊ณ์ ์ถ๋ ฅ์ ์ํ๋ฉดflush()
์ฌ์ฉ
- ์ฝ์ ์ถ๋ ฅํ ๋ ์ฌ์ฉ, ๊ธฐ๋ณธ์ ์ผ๋ก ๋๋ฒ๊ทธ๋ฅผ ์ํ ์ถ๋ ฅ =>
Logger
์ฌ์ฉ ํ์ - But ์์คํ ๋ฆฌ์์ค๋ฅผ ํ์ ์ด์์ผ๋ก ์ก์๋จน๋ ํ๊ณ๊ฐ ์กด์ฌ
JAVA DOC ์ธ์ฉ
System์ Object ํด๋์ค๋ฅผ ์์๋ฐ์ final ํด๋์ค์ด๋ค. ์ธ์คํด์คํ ํ ์์๋ค.
out์ PrintStream ์ ์ธ์คํด์ค์ด๋ฉฐ, println์ PrintStream์ ๋ฉ์๋์ด๋ค.
- println์ println -> print -> write() + newLine() ์์๋ก ์ฒ๋ฆฌ๋
String c = a + b;
+
์ฐ์ฐ์๋ฅผ ํตํด ๋ฌธ์์ด ์ฐ๊ฒฐ ๊ฐ๋ฅ- ๐คจ ๋ด๋ถ์ ์ผ๋ก Autoboxing, Unboxing ๊ณผ์ ์ ํตํ์ฌ concat ๋ฉ์๋๋ฅผ ์ฐธ์กฐํด ์ฌ์ฉํ์ฌ ๋๋ฆผ
_String์ ๋ถ๋ณ(immutable)ํ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์, ๋ด๋ถ์ ์ผ๋ก ๊ณ์ํด์ ์๋ก์ด String ๊ฐ์ฒด๋ค์ด ์์ฑ๋์ด ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ์ฌํจ
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("์ฒซ๋ฒ์งธ ๋ฌธ์ฅ\n");
stringBuilder.append("๋๋ฒ ์ฌ ๋ฌธ์ฅ\n");
bufferedWriter.write(stringBuilder.toString()); // ์ถ๋ ฅ ๊ฐ๋ฅํ String ํํ๋ก ๋ณํ
bufferedWriter.flush();
bufferedWriter.close();
StringBuilder
: mutable ํ ๊ฐ์ฒด์ด๋ฏ๋ก, append()๋ฅผ ํตํด ๋ถ์ผ ์ ์์- ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ด ์๋๋ฏ๋ก, ๋ด๋ถ์ ์ผ๋ก boxing ๊ณผ์ ์ ๊ฑฐ์น์ง ์์ ์๋๊ฐ ๋น ๋ฆ
StringBuffer
:StringBuilder
์ ๋น์ทํ์ง๋ง, thread-safe ํ ํน์ง์ด ์์- ์๋ฒ๋ฅผ ๊ตฌ์ฑํ๊ณ , ๋ค์ค์ ์ฌ์ฉ์๊ฐ ์ ๊ทผ ๊ฐ๋ฅํด์ผํ ๊ฒฝ์ฐ ์ฌ์ฉ
- ๋ด๋ถ์ ์ผ๋ก Synchronization ์ ์ฉํ๋ ๋ก์ง์ด ์กด์ฌํด ๋ค์ ๋๋ฆผ