문제설명
문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- my_string은 숫자와 알파벳으로만 이루어져 있습니다.
- 1 ≤ my_string의 길이 ≤ 1,000
- 0 ≤ s ≤ e < my_string의 길이
입출력 예
입출력 예 #1
- 예제 1번의 my_string에서 인덱스 6부터 인덱스 12까지를 뒤집은 문자열은 "ProgrammerS123"이므로 "ProgrammerS123"를 return 합니다.
입출력 예 #2
- 예제 2번의 my_string에서 인덱스 4부터 인덱스 10까지를 뒤집으면 원래 문자열과 같은 "Stanley1yelnatS"이므로 "Stanley1yelnatS"를 return 합니다.
코드 설명
StringBuilder answer = new StringBuilder();
StringBuilder 클래스를 사용하여 결과 문자열을 저장할 객체 answer를 생성합니다.
StringBuilder str = new StringBuilder(my_string);
my_string을 사용하여 새로운 StringBuilder 객체 str을 생성합니다.
answer.append(str.substring(0, s))
str에서 시작 인덱스 0부터 s 직전까지의 부분 문자열을 answer에 추가합니다.
.append((new StringBuilder(str.substring(s, e + 1)).reverse()))
str에서 인덱스 s부터 e까지의 부분 문자열을 추출한 후, StringBuilder로 변환하여 뒤집습니다. 그리고 뒤집은 문자열을 answer에 추가합니다.
.append(str.substring(e + 1));
str에서 인덱스 e + 1부터 끝까지의 부분 문자열을 answer에 추가합니다.
return answer.toString();
answer를 문자열로 변환하여 반환합니다.
소스코드&결과
코드
class Solution {
public String solution(String my_string, int s, int e) {
StringBuilder answer = new StringBuilder();
StringBuilder str = new StringBuilder(my_string);
answer.append(str.substring(0, s))
.append((new StringBuilder(str.substring(s, e + 1)).reverse()))
.append(str.substring(e + 1));
return answer.toString();
}
}
결과
'Coding Test > 프로그래머스' 카테고리의 다른 글
[Java] 모스부호(1) (4) | 2024.03.19 |
---|---|
[Java] 문자열이 몇 번 등장하는지 세기 (0) | 2024.03.18 |
[Java] 문자열 잘라서 정렬하기 (0) | 2024.03.13 |
[Java] 피자 나눠 먹기 (2) (0) | 2024.02.02 |
[MySQL] 어린 동물 찾기 (0) | 2023.12.06 |