문제1 - 특정 문자 제거하기

풀이1
public static String solution(String my_string, String letter) {
String answer = "";
for (int i = 0; i < my_string.length(); i++) {
char charredAt = my_string.charAt(i);
if (charredAt != letter.charAt(0)) {
answer += charredAt;
}
}
return answer;
}
- String 클래스의
replace()메서드를 사용하여 더 간단하게 문제를 해결할 수 있다.
풀이2
public static String solution(String my_string, String letter) {
return my_string.replace(letter, "");
replace
replace() 메서드는 지정된 문자(또는 문자열)를 다른 문자(또는 문자열)로 대체한다.
letter를 빈 문자열로 대체하면 해당 문자가 제거된 효과를 얻을 수 있다.
- 이 방식은 루프를 사용하지 않고도 직접적으로
letter 문자를 my_string에서 제거할 수 있어 더 효율적이고 간결하다.
문제2 - 문자열 뒤집기
public static String solution(String my_string) {
StringBuffer stringBuffer = new StringBuffer(my_string);
return stringBuffer.reverse().toString();
}
StringBuilder, StringBuffer클래스의 rverse()메서드 사용
- 바꾸고 싶은 문자열을 이용하여
StringBuilder 또는 StringBuffer 객체를 생성 후에 제공되는 reverse() 메서드를 사용한다.
문제3 - 문자 반복 출력하기
public String solution(String my_string, int n) {
StringBuilder answer = new StringBuilder();
for (int i = 0; i < my_string.length(); i++) {
char currentChar = my_string.charAt(i);
for (int j = 0; j < n; j++) {
answer.append(currentChar);
}
}
return answer.toString();
}
- Java에서는 문자열을 더할 때
StringBuilder를 사용하는 것이 효율적이다.
StringBuilder를 사용하는 이유는 문자열을 반복적으로 더할 때 발생하는 메모리 할당과 복사를 최소화하기 위함이다.