문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
인덱스가 0부터 시작하는 문자열 word와 문자 ch가 주어졌을 때, word에서 인덱스 0부터 문자 ch가 처음 나타나는 인덱스까지의 구간을 뒤집어라. 만약 word에 문자ch가 없다면, 아무것도 하지마라.
결과 문자열을 반환해라.
#1
Input: word = "abcdefd", ch = "d"
Output: "dcbaefd"
Explanation: "d"가 처음 등장하는 것은 인덱스 3이다.
word에서 0부터 3까지 구간을 뒤집어서, 결과 문자열은 "dcbaefd"이다.
#2
Input: word = "xyxzxe", ch = "z"
Output: "zxyxxe"
Explanation: "z"오직 한번만 인덱스 3에서 등장한다.
word에서 0부터 3까지 뒤집어서, 결과 문자열은 "zxyxxe"이다.
#3
Input: word = "abcd", ch = "z"
Output: "abcd"
Explanation: word에서 "z"는 존재하지 않는다.
뒤집는 작업을 하지 않아서, 결과 문자열은 "abcd"이다.
class Solution {
public String reversePrefix(String word, char ch) {
int firstCh = word.indexOf(ch);
if(firstCh == -1){
return word;
}
StringBuilder sb = new StringBuilder(word.substring(0, firstCh + 1)).reverse();
if(firstCh < word.length()){
sb.append(word.substring(firstCh + 1));
}
return sb.toString();
}
}