[programmers] 글자 지우기 - Java

주어진 문자열 my_string과 정수 배열 indices를 이용하여 특정 인덱스의 글자를 지우고 이어 붙인 문자열을 반환하는 문제입니다. 주어진 예시에서는 "apporoograpemmemprs"에서 인덱스 1, 16, 6, 15, 0, 10, 11, 3에 해당하는 글자를 지우고 "programmers"를 반환합니다.
Jan 10, 2024
[programmers] 글자 지우기 - Java

문제 설명

문자열 my_string과 정수 배열 indices가 주어질 때, my_string에서 indices의 원소에 해당하는 인덱스의 글자를 지우고 이어 붙인 문자열을 return 하는 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"

입출력 예 설명

입출력 예 #1
  • 예제 1번의 my_string의 인덱스가 잘 보이도록 표를 만들면 다음과 같습니다.
    • index
      0
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      my_string
      a
      p
      p
      o
      r
      o
      o
      g
      r
      a
      p
      e
      m
      m
      e
      m
      p
      r
      s
      indices에 있는 인덱스의 글자들을 지우고 이어붙이면 "programmers"가 되므로 이를 return 합니다.

solution.java

import java.util.*; class Solution { public String solution(String my_string, int[] indices) { String[] my_string_arr = my_string.split(""); for(int i=0; i<indices.length; i++){ my_string_arr[indices[i]] = ""; } return String.join("",my_string_arr); } }
 

핵심 키워드

  • 배열.split() 함수는 입력한 파라미터를 구분자로 문자열을 나눠 배열로 만들어준다.
  • String.join() 함수는 배열을 문자열로 합쳐준다. 첫 번째 파라미터는 합칠때 사용할 구분자, 두 번째 파라미터는 대상 배열이다.
 

결론!

해당 문제를 풀면서 코드를 작성하다가 join 함수의 문법이 헷갈렸고, 이를 명확히 할 수 있었다.
 
Share article
RSSPowered by inblog