[문제]
두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다.
입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요.
[내 풀이]
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String b = sc.next();
System.out.print(a+b);
}
}
+기호 사용 시 문자열은 합쳐서 출력
[다른 사람의 풀이]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print(br.readLine().replaceAll(" ", ""));
}
}
*BuferedReader 연습
- 하드디스크의 관점에서 볼 때, 키보드의 입력이 있을 때마다 바로 이동시키는 것 보다는, 중간에 버퍼를 두어 한 번에 묶어 보내는 것이 더 효율적이고 빠름.
- 많은 입력을 필요로 할 때 유리
<사용법>
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 선언
String s = br.readLine(); //String으로 return값이 고정되어있음
int i = Integer.parseInt(br.readLine()); //다른 타입으로 입력받기 위해서는 형변환이 필요
- 예외처리를 반드시 필요로 함
*Scanner와 BufferedReader의 차이
Scanner | BufferedReader |
띄어쓰기와 개행문자를 경계로 입력 값 인식 | 개행문자만 경계로 인식 *공백 단위로 가공하고자 하면 StringTokenizer나 String.split()함수 사용 |
입력 값을 따로 가공할 필요 없음 | 입력 받은 데이터가 String으로 고정 -> 가공 필요 |
동기화되지 않음 | 동기화 -> 멀티 쓰레드 환경에서 안전 |
'개발 > 코테' 카테고리의 다른 글
[JAVA] 홀짝 구분하기 (0) | 2024.03.26 |
---|---|
[JAVA] 문자열 돌리기 (0) | 2024.03.26 |
[JAVA] [PCCE 기출문제] 8. 창고정리 (0) | 2024.03.19 |
[JAVA] [PCCE 기출문제] 6.가채점 (0) | 2024.03.19 |
[JAVA] [PCCE 기출 문제] 5. 산책 (0) | 2024.03.19 |