์๋ฐ ์ธ์ด๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ ๋, ๋ฌธ์ ์์ ์ฃผ์ด์ง ์ ์ถ๋ ฅ ์กฐ๊ฑด์ ๋ง์ถ๊ธฐ ์ํด ๋ฌธ์ ๋ง๋ค ๋ฐ๋ณต์ ์ผ๋ก ์ด๋ค ๊ฐ์ ์ ๋ ฅ๋ฐ๋ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํ๋ค.
๋๋ ์ฒ์์๋ ๊ทธ๋ฅ ๋ด๊ฐ ์๊ณ ์๋ Scanner์ System.out.println()์ ํ์ฉํด์ ์ ์ถ๋ ฅ ๋ถ๋ถ ์ฝ๋๋ฅผ ์์ฑํ๋ค.
๊ทธ๋ฐ๋ฐ ๊ตฌ๊ธ๋ง์ ํ๋ค ๋ณด๋๊น ๋ณดํต์ StringBuilder์ BuffererdReader๋ฅผ ๋ง์ด ์ฌ์ฉํ๊ธธ๋ ๋ ์ฐพ์๋ณธ ๊ธฐ๋ก์ ๋จ๊ฒจ๋ณธ๋ค.
๋จผ์ , ์ถ๋ ฅ ๋ถ๋ถ์ ๋ณด์.
๋๋ ๋ญ๊ฐ์ ๊ฒฐ๊ด๊ฐ์ ๋ฐ๋ณตํด์ ์ถ๋ ฅํด์ผ ํ ๋, ๊ทธ๋ฅ ๋ฐ๋ณต๋ฌธ์์ System.out.println()์ ๋๋ ธ์๋ค.
๊ทธ๋ฐ๋ฐ ์ ์ถ๋ ฅ ์์ ์ ๊ต์ฅํ ๋๋ฆฌ๊ณ ์์ ์๋ชจ๊ฐ ํฌ๊ธฐ ๋๋ฌธ์, ์ด๋ ๊ฒ ํ์ง ๋ง๊ณ
๋ชจ๋ ์ถ๋ ฅํ ๊ฐ๋ค์ ํ๋์ ๋ฌธ์์ด๋ก ๋ง๋ค์ด์ค ๋ค, ๊ทธ ๊ฐ์ ํ ๋ฒ์ ์ถ๋ ฅํ๋ ๋ฐฉ์์ด ๋ ๋ซ๋ค.
๊ทธ๋ ๊ฒ ํ๊ธฐ ์ํด StringBuilder๋ฅผ ํ์ฉํ๋ค.
๋ค์์ ๋น๊ต๋ฅผ ์ํ ์ผ๋ถ ์์ ์ฝ๋์ด๋ค.
// ์ด์ ๋ฐฉ์
for (int number : numbers) {
System.out.print(number + " ");
}
// StringBuilder๋ฅผ ํ์ฉํ ๋ฐฉ์
static StringBuilder sb = new StringBuilder();
public static void someFunction () {
for (int number : numbers) {
sb.append(val).append(' ');
}
sb.append('\n');
}
someFunction();
System.out.println(sb);
๋ค์์๋ ์ ๋ ฅ๋ถ๋ถ์ด๋ค.
BuffererdReader๋ผ๋๊ฒ ์๋๊ฒ ์ด๊ฒ Scanner๋ณด๋ค ์คํ์๋๊ฐ ๋น ๋ฅด๋ค๊ณ ํ๋ค.
์ฐพ์๋ณด๋ BuffererdReader๋ ๋ฒํผ๋ฅผ ์ด์ฉํด์ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ (์ฆ, ์ ์ถ๋ ฅ ํ์๊ฐ ์ ์ผ๋ฏ๋ก ์๋๊ฐ ๋ ๋น ๋ฆ) Scanner๋ ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํ์ฑํ๊ณ ํ ํฐํํ๋ฏ๋ก ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋๊ฐ ๋ ๋๋ฆฌ๋ค๊ณ ํ๋ค.
BuffererdReader, StringTokenizer๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
1. ์๋ก์ด BuffererdReader ๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค.
2. ์ ๊ฐ์ฒด๋ฅผ ํตํด ๋ฒํผ์์ ํ ์ค์ ์ฝ์ด์จ๋ค.
3. ์ฝ์ด์จ string์ ๋ถ๋ฆฌํด์ฃผ๊ธฐ ์ํ StringTokenizer๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค.
4. ์ ๊ฐ์ฒด์์ ํ ํฐ์ ์ฝ์ด์์ ์๋ก์ด ๋ณ์์ ์ ์ฅํ ํ ํ์ฉํ๋ค.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
์ฐธ๊ณ ๋ก, StringTokenizer๋ ํ ์ค์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ฒ๋ฆฌํ ๋ ์ ์ฉํ๋ฏ๋ก ์ ๋ ฅํ์์ด `N M` ๊ณผ ๊ฐ์ ๋ ์ฌ์ฉํ๋ค.
๋ง์ฝ ์ ๋ ฅ ํ์์ด `2\nword1\nword2` ๊ณผ ๊ฐ์ด ์ฌ๋ฌ ์ค์ ๊ฑธ์ณ ์ฃผ์ด์ง๋ค๋ฉด ๊ทธ๋ฅ BufferedReader.readLine()์ผ๋ก ํ ์ค์ฉ ์ฝ์ด์์ ๊ฐ๊ฐ์ ๋จ์ด๋ฅผ ์ฒ๋ฆฌํด์ฃผ๋ฉด ๋๋ค!