728x90

 

 BufferedReader, StringTokenizer, StringBuilder를 활용한 간단한 문제가 있어 정리해보고자 합니다.

 

 

문제설명

입력 & 출력

나의 풀이

 

문제 설명에서도 나왔듯이 Scanner와 for문 안에서 System.out.println()을 사용하면 시간초과가 납니다.

 

그렇기 때문에 BufferedReader를 사용해야 합니다.

 

먼저 BufferedReader 클래스를 선언해 주고, InputStreamReader를 사용하여 객체를 만들어줍니다.

 

각 피스의 개수를 입력받아 token 변수에 저장해 주고, 각 문자열을 더해줄 StringBuilder 클래스의 sb변수를 초기화해 줍니다.

 

 StringTokenizer 클래스도 선언해 주고 for문안에서 입력을 받아 공백을 기준으로 token 객체를 만들어줍니다.

 

그리고 nextToken() 메서드를 사용하여 분리한 token을 A와 B로 받아줍니다.

 

이때 nextToken()의 반환값은 String이기 때문에 형변환을 해줘야 합니다.

 

마지막으로 StringBuilder 클래스 append() 메서드를 사용하여 문자열 끝에 더하여 마무리해 주었습니다.

 

 

 

다른 풀이 ✅

 

BufferedWriter 클래스를 사용한 방법입니다.

 

참고 ❗

 

[JAVA] 입출력, BufferedReader, StringTokenizer

Java로 코딩테스트를 보거나 입력을 사용해야 할 때 Scanner 클래스를 사용하면 편리하지만 속도가 느리다는 단점이 있습니다. 그렇기 때문에 속도가 빠른 BufferReader 클래스를 사용을 하면 시간복

pixx.tistory.com