β곡λΆνκ² λ κ³κΈ°
λ°±μ€ λ¬Έμ μ€ νλ€κ° μλμ κ°μ λ°μ΄ν°λ₯Ό μ λ ₯λ°κ³ μ°μ° ν μΆλ ₯ν΄μΌνλ λ¬Έμ κ° μμλ€.
5
AAA
ABBA
ABABA
ABCA
PALINDROME
Scanner λ μ¬μ©ν΄λ³΄κ³ BufferReader λ μ¬μ©ν΄λ³΄κ³ λ©μλλ read(), readLine(), nextInt(), next() λ± λ€μνκ² μ¬μ©ν΄λ΄€λλ° μ΄λ¨ λλ μμ€ν€μ½λ κ°μΌλ‘ λ³νλμ μ€λ₯κ° μ΄λ¨ λλ λ²νΌ λ¬Έμ λ‘ μ€λ₯κ°... μ§κΈκΉμ§ μ λλ‘ λͺ¨λ₯΄μ§λ§ BufferedReader κ° μ¬λ¬λͺ¨λ‘ ν¨μ¨μ μ΄λΌκ³ ν΄μ μ¨μλλ° μ΄λ² κΈ°νμ μ½μ μ λ ₯μ λν΄ μ λλ‘ μμλ³΄κ³ μ 곡λΆνλ€.
βοΈκ³΅λΆν λ΄μ©
1οΈβ£ InputStream
InputStream in = System.in;
Scanner μμλ InputStreamReader μμλ νμ μ°λ Stystem.in μ μΆμ²(?) λ₯Ό μκ²λμλ€. System.in μ InputStream κ°μ²΄μ΄λ€.
InputStream μ read() λ©μλλ νλ²μ 1byte λ₯Ό int μλ£νμΌλ‘ μ μ₯νλ©°, μ μ₯λλ μ μκ°μ 0-255 μ¬μ΄μ μμ€ν€μ½λ κ°μ΄λ€.
μλ₯Ό λ€μ΄ 0μ μ λ ₯νλ©΄ 48, aλ₯Ό μ λ ₯νλ©΄ 97 κ°μΌλ‘ μ μ₯λλ€. νλ²μ 1byte μ© λ°μ λͺ» λ°μΌλ―λ‘ μ¬λ¬κ°λ₯Ό λ°κ³ μΆμ λλ λ°°μ΄μ μ¬μ©νλ©΄ λλ€. λ°λΌμ μ λ ₯λ°κΈ° μ μ 미리 ν¬κΈ°λ₯Ό μ§μ ν΄μΌνλ€λ λ¨μ μ΄ μλ€.
InputStream in = System.in;
byte[] a = new byte[3];
in.read(a);
2οΈβ£ InputStreamReader
μμ€ν€μ½λλ₯Ό μΈ μΌμ΄ μΌλ§λμλ€κ³ μ κ±Έ μ°λ건 λ무 λΉν¨μ¨μ μ΄λ€. μ λ ₯ν κ° κ·Έλλ‘λ₯Ό μ λ ₯λ°κ³ μΆμ λλ InputStreamReader λ₯Ό μ¬μ©νλ©΄ λλ€. InputStreamReader κ°μ²΄ μμ±μμ μ λ ₯μΌλ‘ InputStream κ°μ²΄κ° νμνλ€. κ·Έ μΈ μ¬μ©λ²μ InputStream κ³Ό μ μ¬νλ€.
μ°¨μ΄κ° μλ€λ©΄ InputStreamReader λ char ννλ‘ λ°μμ΄μΌλ‘ λ°°μ΄μ νμ μ΄ char μ΄λ€. κ·Έλ¬λ InputStream κ³Ό λ§μ°¬κ°μ§λ‘ ν¬κΈ°λ₯Ό 미리 μ§μ ν΄μΌνλ€λ λ¨μ μ΄ μλ€.
InputStream in = System.in;
InputStreamReader reader = new InputStreamReader(in);
char[] a = new char[3];
reader.read(a);
3οΈβ£ BufferedReader
μ¬λ¬ λ¬Έμ λ€μ νλ€λ³΄λ©΄ μκ² μ§λ§ νμ κ³ μ λ ν¬κΈ°λ§ λ°λ κ²μ λ§μ΄ λμ§ μλλ€. μ΄λ‘ μΈν΄ μ¬μ©μκ° μν°ν€λ₯Ό μ λ ₯ν λ κΉμ§ μ¬μ©μμ μ λ ₯μ λ°μλ€μ΄λ BufferedReader κ° μ£Όλ‘ μ¬μ©λλ€. μμ±μ μ λ ₯μΌλ‘μ InputStreamReader λ₯Ό νμλ‘νλ€.
// μμ± λ°©λ² (1)
InputStream in = System.in;
InputStreamReader reader = new InputStreamReader(in);
BufferedReader br = new BufferedReader(reader);
// μμ± λ°©λ² (2): νμ€ νν
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String a = br.readLine();
System.out.println(a);
1οΈβ£ ~ 3οΈβ£ μ 리 (μ λ ₯ μ μ₯ νν)
InputStream - byte
InputStreamReader - character
BufferedReader - String
4οΈβ£ Scanner
J2SE 5.0 λΆν°λ Scanner κ° μΆκ°λμλ€. Scanner μ μμ±μ μ λ ₯μΌλ‘μ InputStream μ νμλ‘νλ€.
Scanner sc = new Scanner(System.in);
System.out.println(sc.next());
Scanner μ λ¨μ΄, μ«μ, λ¬Έμμ΄ λ± λ€μν ννλ₯Ό μ½μ΄μ¬ μ μλ€.
Scanner μ λ©μλ
next - λ¨μ΄
nextLine - λΌμΈ
nextInt - μ μ
βοΈ μ μ© μμΌλ³Έ μμ
λ°±μ€ λ¬Έμ νμ΄μμ Scanner μ BufferedReader λ κ°μ§ λ°©λ²μ μ μ©νμ¬ ν΄κ²°ν΄λ΄
https://github.com/Young998904/Practice_Algorithm/commit/199abf126c54ea45a5b809e127cdb95d53c38c35
π§ μΆκ°λ‘ κΆκΈν μ
κ° μ½μ μ λ ₯λ³ λ©μλ μλ λ°©μμ μ ννκ² μκ³ μΆλ€. (μ΄λ¨ λ ν λ¬Έμ₯μ΄ λ€ μ½νλμ§, μ΄λ¨ λ νκΈμμ© λ°μμ μ μ₯νλμ§ λ±)
'Java π§Έ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| ν΄μ (Hash) (0) | 2023.01.07 |
|---|---|
| (Java) μ€ν(Stack) & ν(Queue) (0) | 2022.12.31 |
| (Java) λ©μλ_Method (0) | 2022.10.06 |
| (Java) 곡λΆμ λͺ©μ (2) | 2022.10.06 |