반응형
https://school.programmers.co.kr/learn/courses/30/lessons/181905
문제 설명
문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
my_string은 숫자와 알파벳으로만 이루어져 있습니다.
1 ≤ my_string의 길이 ≤ 1,000
0 ≤ s ≤ e < my_string의 길이
주어진 문자열에서 주어진 인덱스를 사용하여 일부만 뒤집은 결과를 반환해 주면 된다.
해당 인덱스 범위의 문자를 뒤집은 문자로 바꾸어 주는 방법으로 문제를 풀었다.
* 그런데 이렇게 하면 해당 인덱스의 범위가 아닌 곳에서 동일한 문자열을 가지고 있을 때 그 부분이 대신 변경되는 문제가 있을 수 있을 것 같다는 생각이 들어서 2가지 방법을 작성해 보았다.
방법 1은 기존의 문자열과 같은 부분을 뒤집은 문자열과 바꾸는 방법이고,
방법 2는 인덱스를 사용하여 특정 부분과 앞 뒤 문자열을 더하는 방식이다.
전체코드
class Solution {
public String solution(String my_string, int s, int e) {
StringBuilder sb = new StringBuilder();
sb.append(my_string.substring(s,e+1));
sb.reverse();
//방법1
// my_string= my_string.replace(my_string.substring(s,e+1),sb.toString());
//방법2
my_string= my_string.substring(0,s)+sb.toString()+my_string.substring(e+1);
return my_string;
}
}
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 2의 영역 자바 java (0) | 2023.08.17 |
---|---|
[프로그래머스] 리스트 자르기 자바 java (0) | 2023.08.17 |
[프로그래머스] 문자열 여러 번 뒤집기 자바 java (0) | 2023.08.14 |
[프로그래머스] 주사위 게임 3 자바 java (0) | 2023.08.13 |
[프로그래머스] 배열 만들기 4 자바 java (0) | 2023.08.13 |
댓글