알고리즘/프로그래머스 JAVA LV.0
글자 지우기
aihtnyc_h
2023. 5. 11. 09:33
728x90
반응형
SMALL
문제 설명
문자열 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
package Lv0;
/*
문자열 my_string과 정수 배열 indices가 주어질 때,
my_string에서 indices의 원소에 해당하는 인덱스의 글자를 지우고 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
*/
public class H181900 {
public String solution(String my_string, int[] indices) {
StringBuilder sb = new StringBuilder();
for (int index : indices) {
sb.append(my_string.charAt(index));
}
return sb.toString();
}
}
테스트 1입력값 〉"apporoograpemmemprs", [1, 16, 6, 15, 0, 10, 11, 3]
기댓값 〉"programmers"
실행 결과 〉실행한 결괏값 "ppomapeo"이 기댓값 "programmers"과 다릅니다.
package Lv0;
import java.util.HashSet;
import java.util.Set;
/*
문자열 my_string과 정수 배열 indices가 주어질 때,
my_string에서 indices의 원소에 해당하는 인덱스의 글자를 지우고 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
*/
public class H181900 {
public String solution(String my_string, int[] indices) {
StringBuilder sb = new StringBuilder();
Set<Integer> indexSet = new HashSet<>();
for (int index : indices) {
indexSet.add(index);
}
for (int i = 0; i < my_string.length(); i++) {
if (!indexSet.contains(i)) {
sb.append(my_string.charAt(i));
}
}
return sb.toString();
}
}
728x90
반응형
LIST