Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

David의 블로그

프로그래머스 - 글자지우기 본문

프로그래밍/코딩

프로그래머스 - 글자지우기

David 리 2024. 6. 22. 12:29

문제설명>

문자열 my_string과 정수 배열 indices가 주어질 때, my_string에서 indices의 원소에 해당하는 인덱스의 글자를 지우고 

이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.

 

내 생각>

이 문제는 for문을 순회하여 my_string문자열 중에서 정수배열 값에 해당하는 문자열들을 가공해서

그것들을 리턴해줘야 했는데, 문제는 순회하면서 my_string의 배열의 길이가 달라지게 될 것이고 이로인해 옳지않은 문자열들을 삭제해버리는 문제가 발생할 것이 분명했다.

 

풀이 방법>

my_string문자열 자체를 하나의 문자열 배열로 정의하여 해당하는 값들을 ""(empty String)처리하여 

결과적으로 하나의 문자열로 재생성 해 주었다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        // 글자지우기
        // "apporoograpemmemprs"    [1, 16, 6, 15, 0, 10, 11, 3]    "programmers"
        
        String my_string = "apporoograpemmemprs";
        int[] indices = {116615010113};
        String answer = "";
        
        String[] strArr = my_string.split("");
        
        for (int i = 0; i < indices.length; i++) {
            System.out.print(my_string.substring(indices[i], indices[i] + 1+ " ");
            strArr[indices[i]] = "";
        }
 
            
        for (int i = 0; i < strArr.length; i++) {
            answer += strArr[i];
        }
        System.out.println(answer);
cs