문제
문자열 my_string과 정수 배열 index_list가 매개변수로 주어집니다. my_string의 index_list의 원소들에 해당하는 인덱스의 글자들을 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
내풀이
단순하게 문자열 연산을 했다.
public String solution(String my_string, int[] index_list) {
String answer = "";
String[] strArr = my_string.split("");
for (int i = 0; i < index_list.length; i++) {
answer += strArr[index_list[i]];
}
return answer;
}그런데 연산시간이 너무 오래걸린다. 다른 사람 답을 확인해보았다.
다른 사람 풀이
public String solution(String my_string, int[] index_list) {
StringBuilder sb = new StringBuilder();
for (int idx : index_list)
sb.append(my_string.charAt(idx));
return sb.toString();
}StringBuilder를 사용했다. String 덧셈연산은 매번 String객체를 새로만들고 넣고 새로만들고 넣고 하느라 '당연히' 연산이 오래걸린다.
반복문안에서 만들때는 StringBuilder를 애용해보자.
단순한 문제지만 하나씩 다시 쌓아간다.
쉬운 문제부터 쭉쭉 다시 풀어나가보자.
'문제 풀이 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 lv0 뒤에서 5등위로 (0) | 2023.08.13 |
|---|---|
| 프로그래머스 lv0 공백으로구분하기2 (0) | 2023.08.10 |
| 프로그래머스 lv 0 문자열 반복 출력 (0) | 2023.08.04 |
| 프로그래머스 lv 0 유한소수 판별하기 (0) | 2023.04.19 |
| 프로그래머스 lv 0 등수매기기 (0) | 2023.02.28 |