Just Do IT!
[프로그래머스 level 0] 문자열 뒤집기 - 181905 (Java) 본문
728x90
반응형
문자열 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" |
class Solution {
public StringBuilder solution(String my_string, int s, int e) {
StringBuilder answer = new StringBuilder();
for (int i = 0; i < s; i++) {
answer.append(my_string.charAt(i));
}
for (int i = e; i >= s; i--) {
answer.append(my_string.charAt(i));
}
for (int i = e + 1; i < my_string.length(); i++) {
answer.append(my_string.charAt(i));
}
return answer;
}
}
https://daydream-sy.tistory.com/322
[Java] StringBuilder 사용하기
StringBuilder란?String은 불변(immutable) 객체라고 한다. 즉, 한 번 생성되면 변경할 수 없는 것이다.+ 연산자를 사용하여 연결할 수는 있지만, 이는 새로운 문자열 객체가 생성된다는 것을 의미한다.따
daydream-sy.tistory.com
이걸 참고해서 StringBuilder를 사용해서 새로운 객체를 생성한다.
- s 앞의 부분을 그대로 answer에 추가
- s에서 e까지의 구간을 뒤집어 추가
- e 뒤의 부분을 그대로 추가
이 과정을 거치기 위해 for문을 세 번 사용했다.
뭔가 다른 방법이 있을것 같은데 우선은 저렇게 해서 풀었다.
728x90
'코딩테스트 준비 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 level 0] 문자열의 뒤의 n글자 - 181910 (Java) (1) | 2024.11.20 |
---|---|
[프로그래머스 level 0] 접미사 배열 - 181909 (Java) (0) | 2024.11.19 |
[프로그래머스 level 0] 부분 문자열 이어 붙여 문자열 만들기 - 181911 (Java) (0) | 2024.11.16 |
[프로그래머스 level 0] 문자열의 앞의 n글자 - 181907 (Java) (1) | 2024.11.15 |
[프로그래머스 level 0] 카운트 업 - 181920 (Java) (0) | 2024.11.14 |