인프런 커뮤니티 질문&답변
StringBuilder vs BufferdWriter
작성
·
42
퀴즈
61%나 틀려요. 한번 도전해보세요!
대소문자를 구분하지 않고 문자열 내 특정 문자의 총 개수를 세려면, 어떤 방법이 가장 효율적일까요?
문자열을 반복하며 각 문자가 찾으려는 문자의 대문자 또는 소문자인지 모두 비교한다.
문자열 전체를 한 가지 케이스(예: 모두 대문자)로 통일한 후 해당 문자의 개수를 센다.
대문자와 소문자의 개수를 각각 세어 합산한다.
Set 자료구조를 사용하여 중복 없이 문자를 저장한 후 개수를 센다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 박대형님.
StringBuilder와 BufferedWriter는 각각 다른 목적과 사용 사례가 있습니다. 이 둘을 사용해야 할 상황을 이해하면 기준을 잡는데 도움이 될 것입니다.
StringBuilder:
- 목적: 문자열을 효율적으로 조작(변경)하기 위한 클래스입니다.
- 사용 상황: 문자열을 반복적으로 변경하거나 연결해야 하는 경우에 적합합니다.
- 특징: 변경할 수 있는(mutable) 구조로, 비슷한 작업을
String으로 할 때보다 성능이 우수합니다.
- 목적: 문자열을 효율적으로 조작(변경)하기 위한 클래스입니다.
BufferedWriter:
- 목적: 출력 스트림을 통해 버퍼링된 문자 출력 기능을 제공합니다.
- 사용 상황: 파일이나 콘솔에 대량의 출력 작업을 빠르게 수행해야 하는 경우에 적합합니다.
- 특징: 내부 버퍼를 사용하여 출력 성능을 향상시키며, 직접 출력 스트림으로 쓰기 작업을 수행합니다.
- 목적: 출력 스트림을 통해 버퍼링된 문자 출력 기능을 제공합니다.
따라서, 문자열 조작이 필요하다면 StringBuilder를 사용하고, 빠른 출력이 필요하면 BufferedWriter를 이용하는 것이 일반적으로 좋은 방법입니다.
관련 질문을 확인해보시려면 다음 링크들을 참고해주세요:
- string vs StringBuilder 어느 것을 사용해야 될까요?
- Scanner vs BufferReader
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





