문자를 인덱스에 대치하는 것을 알아보니까 Stringbuilder에서는 setCharAt()
라는 api를 제공하고 있었다.
public String solution(String myString) {
StringBuilder answer = new StringBuilder(myString);
for (int i =0 ; i < myString.length(); i++) {
if (answer.toString().charAt(i) < 'l') {
answer.setCharAt(i, 'l');
}
}
return answer.toString();
}
다른 분들의 풀이를 보니까 더 간결하고 좋은 코드들이 많았다
public String solution(String myString) {
return myString.replaceAll("[^l-z]", "l");
}
스트림 고수들을 보면서 한번 꼭 사용해 보아야 겠다고 생각하긴 하고있다.
public String solution(String myString) {
return myString.chars()
.mapToObj(i -> Character.toString(Integer.max(i, 'l')))
.collect(Collecters.joining());
}