Algorithm/Programmers 입문

[프로그래머스 코딩기초 트레이닝] 문자열 뒤집기 (JAVA)

JunFe 2023. 11. 8. 09:24
반응형

문제 설명

 

자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요.


제한사항

 

my_string은 숫자와 알파벳으로만 이루어져 있습니다.

1 ≤ my_string의 길이 ≤ 1,000

0 ≤ s  e < my_string의 길이


입출력 예

my_string s e result
"Progra21Sremm3" 6 12 "ProgrammerS123"
"Stanley1yelnatS" 4 10 "Stanley1yelnatS"

입출력 예 설명

 

입출력 예 #1

예제 1번의 my_string에서 인덱스 6부터 인덱스 12까지를 뒤집은 문자열은 "ProgrammerS123"이므로 "ProgrammerS123"를 return 합니다.

 

입출력 예 #2

 

예제 2번의 my_string에서 인덱스 4부터 인덱스 10까지를 뒤집으면 원래 문자열과 같은 "Stanley1yelnatS"이므로 "Stanley1yelnatS"를 return 합니다.


풀이

 

-> 뒤집어야하는 부분의 앞, 뒤 부분만 substring으로 잘라서 먼저 first와 third 변수에 저장해둔다. 그 후에 s, e 범위에 포함되는 부분만 반복문을 통해서 second에 뒤집은채로 담은 후 first + second + third를 해준다.


코드

 

class Solution {
    public String solution(String my_string, int s, int e) {
        String answer = "";
        int length = my_string.length();
        String first = my_string.substring(0, s);
        String second = "";
        String third = my_string.substring(e+1, length);
        System.out.println(my_string.charAt(s));
        for(int i=e;i>s-1;i--){
            second += my_string.charAt(i); 
        }
        answer = first + second + third ;
        return answer;
    }
}
반응형