[프로그래머스 | Lv.0] 문자열 뒤집기

자경·2024년 8월 18일
0

programmers

목록 보기
2/3

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

제한사항
my_string은 숫자와 알파벳으로만 이루어져 있습니다.
1 ≤ my_string의 길이 ≤ 1,000
0 ≤ s ≤ e < my_string의 길이

1.LH 코드

class Solution {
    public String solution(String my_string, int s, int e) {
        String temp = "";
        
        //바꿀부분을 추출
        for(int i=e; i>=s; i--){
            temp += my_string.charAt(i);
        }
        
        String answer = "";
        for(int i=0; i<s; i++){
            answer += my_string.charAt(i);
        }
        
        answer += temp;
        
        for(int i=e+1; i<my_string.length(); i++){
            answer += my_string.charAt(i);
        }
        
        return answer;
    }
}
  • 직관적으로 문자를 끊어서 처리했다.
  • 가독성 0
  • 처리 시간이 오래걸린다.

NAM 코드

class Solution {
    public String solution(String myString, int s, int e) {
        return myString.substring(0, s) + new StringBuilder(myString.substring(s, e + 1)).reverse().toString() + myString.substring(e + 1);
    }
}
  • 위 코드에서는 서브스트링을 이용하여 코드를 자르고 stringbuilder로 reverse를 한 후 곧바로 붙여서 return 하였다.

String substring(int index)
문자열을 자를때 사용한다.

new StringBuilder(myString.substring(s,e+1).reverse().toString())
새 스트링빌더 <- 자른 문자열을 뒤바꾼 것의 type를 스트링으로 바꾸었다.

0개의 댓글