TIL

[코테연습] 2000. Reverse Prefix of Word

크라00 2024. 7. 25. 14:37

- 문자열 문제

 

https://leetcode.com/problems/reverse-prefix-of-word/description/?envType=daily-question&envId=2024-05-01

 

-문제분석

1. String word 문자열 중 특정 글자가 나오는 지점까지 뒤집어라

2. 나머지 글자와 합친 모양을 리턴하시오

 

-문제풀이

1. word.indexOf(ch) 로 문자열에서 가장 가까운 특정 글자를 찾는다.

2. substring 함수로 0, indexOf + 1 , indexOf+1, word.length() 까지 글자를 각각 나눈다.

3. substring(0, indexOf(ch)+1) 까지의 문자열을 거꾸로 뒤집는다.

4. 두 개의 글자를 합쳐서 리턴한다.

 

class Solution {
    public String reversePrefix(String word, char ch) {

        String result = word;

        int idx = word.indexOf(ch);
        int n = word.length();
        
        if (idx >= 0) {
            String prev = word.substring(0, idx+1);
            String less = word.substring(idx+1, n);

            String[] arr = prev.split("");
            StringBuilder sb = new StringBuilder();

            for(int i = arr.length-1; i >= 0; i--) {
                sb.append(arr[i]);
            }

            result = sb.toString() + less;

        }

        return result;
    }
}