Hi, There!
안녕하세요, 바오밥입니다.
목차
- 문제
- 풀이
문제
문제 내용
https://school.programmers.co.kr/learn/courses/30/lessons/181913
풀이
나의 풀이
class Solution {
public String solution(String my_string, int[][] queries) {
// end~start 문자열 temp 변수에 임시저장
// start~end 위치 순회하면서 temp 변수로 my_string 덮어쓰기
for(int i=0; i<queries.length; i++) {
String temp = "";
for(int j=queries[i][1]; j>=queries[i][0]; j--) {
temp += my_string.charAt(j);
}
int tempIdx = 0;
StringBuilder sb = new StringBuilder(my_string);
for(int j=queries[i][0]; j<=queries[i][1]; j++) {
sb.setCharAt(j, temp.charAt(tempIdx));
tempIdx++;
}
my_string = sb.toString();
}
return my_string;
}
}
다른 사람 풀이
class Solution {
public String solution(String my_string, int[][] queries) {
StringBuilder sb = new StringBuilder(my_string);
for (int i=0;i<queries.length;i++) {
String a = sb.substring(queries[i][0], queries[i][1]+1);
// substring() 메서드를 이용하여 바꾸는 구간만큼 잘라서 a에 저장
StringBuilder sba = new StringBuilder(a);
sba.reverse();
// StringBuilder로 변환한 a를 뒤집기
sb.replace(queries[i][0], queries[i][1]+1, sba.toString());
// StringBuilder.replace(int start, int end, String str); -> start ~ end 지점까지 str로 변환
}
return sb.toString();
}
}
'Dev > PS' 카테고리의 다른 글
[프로그래머스-코딩테스트 입문] 직각삼각형 출력하기 (0) | 2023.05.20 |
---|---|
[프로그래머스-코딩테스트 입문] 문자열 뒤집기 (0) | 2023.05.20 |
[프로그래머스-코딩 기초 트레이닝] 9로 나눈 나머지 (0) | 2023.05.20 |
[프로그래머스-코딩 기초 트레이닝] 글자 이어 붙여 문자열 만들기 (0) | 2023.05.20 |
[프로그래머스-코딩 기초 트레이닝] 주사위 게임 3 in Java (1) | 2023.05.20 |