if(currentChar==c) continue; 이 부분에서 만약 c가 아니라 letter로 사용했다면 char과 string 간의 비교가 안되어서 에러가 발생하게 되고 있습니다. 그래서 위에 매개변수 단계에서 char letter로 받아 사용해봤지만 여전히 같은 에러가 발생하여,
char c로 letter의 첫번째 문자를 추출하는 방식을 택하였습니다.
(단! 문자열String에서도 charAt을 사용할 수 있다는 점과는 헷갈려서는 안됩니다.)
4) 코드
1) for문으로 순회하며 값을 찾아 추가해주는 방식
class Solution {
public String solution(String my_string, String letter) {
String answer = "";
if(1> my_string.length() || my_string.length() > 100){
throw new IllegalArgumentException("my_string 길이의 제한사항을 확인하세요");
}
char c = letter.charAt(0);
for(int i=0; i<my_string.length(); i++){
char currentChar = my_string.charAt(i);
if(currentChar==c) continue;
answer+=currentChar;
}
return answer;
}
}
2) replace 메소드를 활용하기
class Solution {
public String solution(String my_string, String letter) {
String answer = "";
if (1 <= my_string.length() && my_string.length() <= 100) {
answer = my_string.replace(letter, "");
} else {
throw new IllegalArgumentException("제한사항을 확인하세요");
}
return answer;
}
}
※ replace 메소드
String newString = 원본문자열.replace(원본문자열에서 대체하고자할 문자열, 대체될 새로운 문자열);
이렇게하면 원본문자열에서 대체하고자할 문자열이 사라지고, 새로운 문자열이 들어간 newString이 생성되게 됩니다.
위 문제에서는 my_string 문자열 안에 있는 letter 문자열이 "" 빈문자열로 대체되며, 제거되는 효과처럼 보이게 합니다.