Algorism/프로그래머스
[프로그래머스] 문자열 뒤집기 + StringBuffer 사용법, 사용이유
Jye_647
2023. 5. 30. 10:30
class Solution {
public String solution(String my_string) {
// String자료형을 return해주는 solution이라는 메서드에 my_string 매개변수를 가진다.
StringBuffer sb = new StringBuffer(my_string);
// StringBuffer 객체를 만들고 그 안에 my_string의 값을 넣어준다.
String value = sb.reverse().toString();
// String자료형을 가진 value변수에 = sb에 저장된 my_string값을.toString()을 이용해 문자열로 리턴해준다.
return value;
// 문자열로 저장된 value값을 리턴
}
}
이번 문제를 통해 StringBuffer의 개념을 알게 되었다.
StringBuffer란?
StringBuffer는 buffer라고 하는 독립적인 공간을 가지는데 주로 문자열을 추가하거나 변경할 때 사용한다.
append를 통해 buffer안에 값을 추가할 수 있다.
sb.append("추가할 값");
StringBuffer 사용이유?
String을 이용하여 문자열을 추가할 경우
String value = ""; // String 객체 생성(1)
value += "Welcome"; // +연산자로 인해 String 객체 생성(2)
value += " to the "; // +연산자로 인해 String 객체 생성(3)
value += "StringBuffer"; // +연산자로 인해 String 객체 생성(4)
System.out.println(value); // "Welcome to the StringBuffer"
+연산자를 사용할 때마다 새로운 String 객체가 생성된다. 총 4번 String 객체가 생성되었다.
StringBuffer를 이용하면 객체가 한 번만 생성된다.
StringBuffer sb = new StringBuffer(); // StringBuffer 객체 생성(1)
sb.append("Welcome");
sb.append(" to the ");
sb.append("StringBuffer");
String value = sb.toString();
System.out.println(value); // "Welcome to the StringBuffer"
StringBuffer를 사용하는 이유는 공간의 낭비가 없고, 속도 또한 빨라진다.
참고