본문 바로가기
프로그래머스

[프로그래머스/자바/LV.0] 글자 지우기

by pikan97 2023. 7. 9.

문제 설명

문자열 my_string과 정수 배열 indices가 주어질 때, my_string에서 indices의 원소에 해당하는 인덱스의 글자를 지우고 이어 붙인 문자열을 반환하는 solution 함수를 작성해 주세요.

제한 사항

  • 1 ≤ indices의 길이 < my_string의 길이 ≤ 100
  • my_string은 영소문자로만 이루어져 있습니다.
  • 0 ≤ indices의 원소 < my_string의 길이
  • indices의 원소는 모두 서로 다릅니다.

입출력 예

my_string indices result
"apporoograpemmemprs" [1, 16, 6, 15, 0, 10, 11, 3] "programmers"

Solution

class Solution {
    public String solution(String my_string, int[] indices) {
        String answer = "";
        int len = my_string.length();
        int[] flag = new int[len];

        for(int i = 0; i < indices.length; i++){
            flag[indices[i]] = 1;
        }

        for(int i = 0; i < len; i++){
            if(flag[i] == 0){
                answer += my_string.charAt(i) + "";
            }
        }
        return answer;
    }
}

해설

해당하는 인덱스의 글자를 지워야하기 때문에, flag 배열을 만들어서 제거해야할 문자의 인덱스를 저장하고, 표시된 인덱스를 제외한 문자들을 answer 문자열에 더해준다.