반응형
문제 설명
문자열 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 합니다.
class Solution {
public String solution(String my_string, int s, int e) {
String answer = "";
StringBuilder sb = new StringBuilder(new String(my_string.substring(s,e+1)));
sb.reverse();
for(int i=0;i<my_string.length();i++){
if(i != s){
answer += my_string.charAt(i);
}else{
answer += sb.toString();
i = e;
}
}
return answer;
}
}
간단하게 문자열을 뒤집어주기 위해서 StringBuilder를 사용한다.
문자열 나누는 건 substring()사용했는데
e+1을 해준 이유!
substring(1, 10) 는 1부터 10 인덱스 이전까지의 문자열이 들어가게 된다.
그래서 e까지 넣어주기 위해 +1을 해주었다.
reverse() 사용해서 문자열 뒤집어주고
반복문 사용해서 i가 s 아닐때 answer에 넣어준다.
i가 s와 같으면 charAt()이 아니라 뒤집어준 문자열을 넣어주고
i의 값을 e로 만들어준다!
반응형
'코딩테스트 > JAVA' 카테고리의 다른 글
| [JAVA/프로그래머스] 특정 문자 제거하기 (0) | 2023.07.14 |
|---|---|
| [JAVA/프로그래머스] 문자열 정렬하기 (2) (0) | 2023.07.13 |
| [JAVA/프로그래머스] 숫자의 표현 (0) | 2023.07.11 |
| [JAVA/프로그래머스] 문자열 내 마음대로 정렬하기 (0) | 2023.07.10 |
| [JAVA/프로그래머스] 크기가 작은 부분문자열 (0) | 2023.07.09 |