문제 설명
문자열 my_string과 정수 배열 index_list가 매개변수로 주어집니다. my_string의 index_list의 원소들에 해당하는 인덱스의 글자들을 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 <= my_string의 길이 <= 1,000
- my_string의 원소는 영소문자로 이루어져 있습니다.
- 1 <- index_list의 길이 <= 1,000
- 0 <= index_list의 원소 < my_string의 길이
입출력 예
my_string | index_list | result |
"cvsgiorszzzmrpaqpe" | [16, 6, 5, 3, 12, 14, 11, 11, 17, 12, 7] | "programmers" |
"zpiaz" | [1, 2, 0, 0, 3] | "pizza" |
import java.lang.StringBuilder;
class Solution {
public String solution(String my_string, int[] index_list) {
StringBuilder sb = new StringBuilder();
String[] s = my_string.split("");
for (int i = 0; i < index_list.length; i++) {
sb.append(s[index_list[i]]);
}
String answer = sb.toString();
return answer;
}
}
문자열을 반복해서 붙일 예정이므로, StringBuilder를 생성합니다. my_string을 문자로 나누어 배열 s에 넣습니다. for문이 index_list의 길이만큼 순회합니다. index_list의 i번째 인덱스를 배열 s에서 찾아서 append 메소드로 sb에 추가합니다. answer에 이렇게 붙인 문자열을 할당합니다. StringBuilder의 문자열은 바로 출력하면 주소값이 출력되므로, 올바른 값을 출력하기 위해 toString 메소드를 이용합니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 문자열 뒤의 n글자(Java) (0) | 2023.04.29 |
---|---|
[프로그래머스 코딩테스트] 9로 나눈 나머지(Java) (0) | 2023.04.29 |
[프로그래머스 코딩테스트] 카운트 업(Java) (0) | 2023.04.28 |
[프로그래머스 코딩테스트] 원소들의 곱과 합(Java) (0) | 2023.04.28 |
[프로그래머스 코딩테스트] flag에 따라 다른 값 반환하기(Java) (0) | 2023.04.28 |