문제
내가 작성한 정답
boolean[] - true
class Solution {
public String solution(String my_string, int[] indices) {
StringBuilder answer = new StringBuilder();
boolean[] del = new boolean[my_string.length()];
for(int i : indices){
del[i] = true;
}
for(int i=0; i<my_string.length(); i++){
if(!del[i]) answer.append(my_string.charAt(i));
}
return answer.toString();
}
}
boolean[] - false
import java.util.Arrays;
class Solution {
public String solution(String my_string, int[] indices) {
StringBuilder answer = new StringBuilder();
boolean[] save = new boolean[my_string.length()];
Arrays.fill(save,true);
for(int i : indices){
save[i] = false;
}
for(int i=0; i<my_string.length(); i++){
if(save[i]) answer.append(my_string.charAt(i));
}
return answer.toString();
}
}
다른 사람들의 정답
String[]
class Solution {
public String solution(String my_string, int[] indices) {
String answer = "";
String[] tmp = my_string.split("");
for (int i = 0; i < indices.length; i++) {
tmp[indices[i]] = "";
}
// 1. String.join
// return String.join("",answer);
// 2. for
for (String x : tmp) {
answer += x;
}
return answer;
}
}
setCharAt - StringBuilder
class Solution {
public String solution(String my_string, int[] indices) {
StringBuilder sb = new StringBuilder(my_string);
for (int i : indices) {
sb.setCharAt(i, ' ');
}
return sb.toString().replace(" ", "");
}
}
setCharAt() 메서드는 Java의 StringBuilder 클래스에 속한 메서드로 문자열 내의 특정 위치(인덱스)에 있는 문자를 다른 문자로 변경하는 데 사용한다.
Share article