코딩테스트/프로그래머스

[프로그래머스] 문자열 여러 번 뒤집기 자바 java

플래시🦥 2023. 8. 14.
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/181913

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 설명
문자열 my_string과 이차원 정수 배열 queries가 매개변수로 주어집니다. queries의 원소는 [s, e] 형태로, my_string의 인덱스 s부터 인덱스 e까지를 뒤집으라는 의미입니다. my_string에 queries의 명령을 순서대로 처리한 후의 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항
my_string은 영소문자로만 이루어져 있습니다.
1 ≤ my_string의 길이 ≤ 1,000
queries의 원소는 [s, e]의 형태로 0 ≤ s ≤ e < my_string의 길이를 만족합니다.
1 ≤ queries의 길이 ≤ 1,000


 

 이 문제는 주어진 문자열과 인덱스를 가진 배열을 가지고 해당 인덱스의 문자열을 뒤집어 주어서 결과 값을 반환하라는 문제이다. 

주어진 인덱스의 문자열을 stringBuffer에 append 하고 reverse 해주고 해당 인덱스의 앞뒤남은 문자열을 붙여주면 된다. 

 

 

전체 코드

class Solution {
    public String solution(String my_string, int[][] queries) {
    
        for(int i=0; i<queries.length;i++){
            StringBuilder sb = new StringBuilder();  
            sb.append(my_string.substring(queries[i][0],queries[i][1]+1));
            my_string =my_string.substring(0,queries[i][0])
                + sb.reverse().toString()
                +my_string.substring(queries[i][1]+1,my_string.length());
        }
        return my_string;
    }
}

 

728x90
반응형

댓글