728x90
반응형
문제 설명
문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
입출력 예
my_string | return |
"jaron" |
"noraj" |
"bread" | "daerb" |
입출력 예 #1
- 2my_string이 "jaron"이므로 거꾸로 뒤집은 "noraj"를 return합니다.
입출력 예 #2
- my_string이 "bread"이므로 거꾸로 뒤집은 "daerb"를 return합니다.
[나의 풀이]
import java.util.*;
import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.Collections;
class Solution {
public String solution(String my_string) {
List<String> collect = Arrays.stream(my_string.split("")).collect(Collectors.toList());
Collections.reverse(collect);
StringBuffer sb = new StringBuffer();
collect.forEach(str -> sb.append(str));
return sb.toString();
}
}
[풀이과정]
- Arrays.stream()에 split("")한 String배열을 매개변수에 전달.
- collect()로 수집한 후 Collectors.toList()를 통해 List로 변환
- Collections의 reverse() 메소드에 해당 리스트를 넘겨 역순정렬.
- 역순정렬된 list를 반복문을 통해 StringBuffer에 문자열 배열 요소 순차적으로 누적합 연산.
- 문자열로 변환하여 반환.
[다른 풀이]
import java.util.*;
class Solution {
public String solution(String my_string) {
StringBuilder sb = new StringBuilder();
// StringBuffer sb = new StringBuffer();
sb.append(my_string);
sb.reverse();
return sb.toString();
}
}
StringBuilder와 StringBuffer도 reverse()를 지원한다.
return new StringBuffer(my_string).reverse().toString();
StringBuilder 생성자에 값을 세팅하고 메소드체이닝 방식으로 사용도 가능하다.
728x90
반응형
'코딩테스트 - 프로그래머스 > Lv. 0' 카테고리의 다른 글
[42] JAVA 피자 나눠먹기 (0) | 2023.11.17 |
---|---|
[41] JAVA 배열 원소의 길이 (0) | 2023.11.17 |
[39] JAVA 뒤에서 5등 위로 (0) | 2023.11.16 |
[38] JAVA 아이스 아메리카노 (0) | 2023.11.16 |
[37] JAVA 꼬리 문자열 (0) | 2023.11.16 |