๐ก ํด๋น์ฝ๋๋ ์ข์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์๋ค.
String Builder ํด๋์ค์ reverse() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์ฝ๊ฒ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค.
(0,s) , (e+1) ์ ์ ๋ค ๊ธฐ๋ณธ๊ฐ (๊ฑฐ๊พธ๋ก ๋๋ฆฌ๋ ๊ฐ x) ์ ์ถ๋ ฅํด์ฃผ๊ณ
answer ์ s ~ e + 1 (substring ์ ๋ง์ง๋ง -1 ๋งํผ ์๋ฅด๋ฏ๋ก ์ธ๋ฑ์ค ๊ฐ์์ +1์ ์งํํด์ค์ผ๋๋ค.)
ํด๋น ๊ฐ์ reverse() ํจ์๋ก ๋๋ ค์ฃผ๊ณ ์ด์ด์ฃผ๋ฉด ๋๋ค.
๐ฌ StringBuilder ํด๋์ค๋ ์๋ฐ์์ ๋ฌธ์์ด์ ๋ค๋ฃจ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ฐ๋ณ์ฑ(mutability)์ ๊ฐ์ง ํด๋์ค์ ๋๋ค. ์ด ํด๋์ค๋ ๋ฌธ์์ด์ ๋ณ๊ฒฝํ ์ ์๋ ๋ค์ํ ๋ฉ์๋๋ฅผ ์ ๊ณตํ์ฌ ๋ฌธ์์ด ์กฐ์ ์์ ์ ํธ๋ฆฌํ๊ฒ ์ํํ ์ ์์ต๋๋ค.
๐ฌ str.reverse() : StringBuilder ๊ฐ์ฒด์ ์ ์ฅ๋ ๋ฌธ์์ด์ ๋ค์ง์ต๋๋ค.
class Solution {
public String solution(String my_string, int s, int e) {
StringBuilder answer = new StringBuilder(my_string.substring(s, e + 1));
answer.reverse();
return my_string.substring(0, s) + answer + my_string.substring(e + 1);
}
}