글자 이어 붙여 문자열 만들기
Programmers 코딩 기초 트레이닝
문제 설명
문자열 my_string
과 정수 배열 index_list
가 매개변수로 주어집니다. my_string
의 index_list
의 원소들에 해당하는 인덱스의 글자들을 순서대로 이어 붙인 문자열을 반환하는 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” |
입출력 예 설명
입출력 예 #1
예제 1번의 my_string
에서 인덱스 3, 5, 6, 11, 12, 14, 16, 17에 해당하는 글자는 각각 g, o, r, m, r, a, p, e이므로 my_string
에서 index_list
에 들어있는 원소에 해당하는 인덱스의 글자들은 각각 순서대로 p, r, o, g, r, a, m, m, e, r, s입니다. 따라서 “programmers”를 반환합니다.
입출력 예 #2
예제 2번의 my_string
에서 인덱스 0, 1, 2, 3에 해당하는 글자는 각각 z, p, i, a이므로 my_string
에서 index_list
에 들어있는 원소에 해당하는 인덱스의 글자들은 각각 순서대로 p, i, z, z, a입니다. 따라서 “pizza”를 반환합니다.
class Solution {
public String solution(String my_string, int[] index_list) {
//char배열을 만들고 크기는 my_string의 길이만큼 설정
char[] charList = new char[my_string.length()];
//my_string을 charArray에 각각 분리해서 담는다
charList = my_string.toCharArray();
StringBuilder stringBuilder = new StringBuilder();
//index_list의 길이만큼 각 인덱스에 해당하는 숫자 뽑아서 stringBuilder에 charList에 해당하는 인덱스 찾아서 글씨를 새로 만들어 주는 작업.
for(int Idx : index_list) {
stringBuilder.append(charList[Idx]);
}
//만들어진 글자 리턴
return stringBuilder.toString();
}
}
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
Leave a comment