[알고리즘문제풀기] 글자 지우기

silver's avatar
Apr 13, 2025
[알고리즘문제풀기] 글자 지우기

문제

내가 작성한 정답

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

silver