[LeetCode] Reverse Prefix of Word

아르당·2026년 7월 27일

LeetCode

목록 보기
429/561
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Example

인덱스가 0부터 시작하는 문자열 word와 문자 ch가 주어졌을 때, word에서 인덱스 0부터 문자 ch가 처음 나타나는 인덱스까지의 구간을 뒤집어라. 만약 word에 문자ch가 없다면, 아무것도 하지마라.

  • 예를 들어, word = "abcdefd"와 ch = "d"일 때, 시작이 0이고 끝이 3인 구간을 반전시킨다. 결과는 "dcbaefd"이다.

결과 문자열을 반환해라.

Example

#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"이다.

Constraints

  • 1 <= word.length <= 250
  • word는 영어 소문자로 구성된다.
  • ch는 영어 소문자이다.

Solved

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();
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글