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