https://school.programmers.co.kr/learn/courses/30/lessons/181913
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
Algorithm
인덱스 구간을 [start,end]로 지정한다. 그 후 [start,end]에 해당하는 구간을 reverse한 후 기존 글자의 전후와 이어붙인다.
Python
def solution(my_string, queries):
for start, end in queries:
my_string = my_string[:start] + my_string[start:end+1][::-1] + my_string[end+1:]
return my_string
Java
class Solution {
public StringBuilder solution(String my_string, int[][] queries) {
StringBuilder str = new StringBuilder(my_string);
for(int i = 0; i < queries.length; i++) {
int start = queries[i][0];
int end = queries[i][1];
StringBuilder s = new StringBuilder(str.substring(start,end+1));
s.reverse();
str.replace(start,end+1,s.toString());
}
return str;
}
}
'자료구조&알고리즘 > 프로그래머스' 카테고리의 다른 글
[Programmers] 문자열 뒤집기 (0) | 2023.09.21 |
---|---|
[Programmers] 접미사인지 확인하기 (0) | 2023.09.20 |
[Programmers] 접미사 배열 (0) | 2023.09.19 |
[Programmers] 부분 문자열 이어 붙여 문자열 만들기 (0) | 2023.09.19 |
[Programmers] 배열 만들기 5 (0) | 2023.09.19 |