<문제 제시>
문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.
<예시 입출력>
<문제 해결 과정>
문자열 뒤집기는 첫번째 인덱스의 문자와 끝 인덱스의 문자를 바꾸고 인덱스를 바꾼 후 또 그 인덱스에서의
바꾸기가 이루어지면 되는 것이다. lt 라는 변수와 rt라는 변수를 두어 해결하려했지만, 첫번째인덱스는 반복문에서 'i'라는 변수로 쉽게 접근이 가능하기에 rt변수만 두었다.
int rt = my_string.length() - 1;
rt는 주어진 my_string의 끝문자를 표시한다. .length() - 1
처음에는
Try 1) StringIndexOutOfBoundsException 오류가 발생하였다. 문자열의 인덱스를 참조하는 과정에서
범위 지정이 잘못된 것 같았다.
Solution 1) " ArrayList " 를 활용하여 해결
또, Character 자료형의 ArrayList를 선언 후 인덱스 rt를 감소시키며 각 문자를 거꾸로 넣어준다.
for(int i = 0; i < my_string.length(); i++){
move.add(i, my_string.charAt(rt));
rt--;
}
.get()으로 answer에 문자들을 누적해서 더해주면 거꾸로 바뀐 문자열이 반환된다.
<전체코드>
import java.util.ArrayList;
import java.util.List;
public class flip_array {
public static String solution(String my_string) {
String answer = "";
List<Character> move = new ArrayList<>();
int rt = my_string.length() - 1;
for(int i = 0; i < my_string.length(); i++){
move.add(i, my_string.charAt(rt));
rt--;
}
for(int i = 0; i < move.size(); i++) {
answer += move.get(i);
}
return answer;
}
public static void main(String[] args) {
String my_string = "jaron";
System.out.println(solution(my_string));
}
}
테스트케이스로 'jaron'을 넣어 테스트해보았다. 정상적으로 처리되었고, noraj 가 반환될 수 있었다.
문제링크)
https://school.programmers.co.kr/learn/courses/30/lessons/120822
'Algorithms > 프로그래머스' 카테고리의 다른 글
[프로그래머스] '양꼬치' - Java (0) | 2023.02.23 |
---|---|
[프로그래머스] '분수의 덧셈' - Java (0) | 2023.02.23 |
[프로그래머스] '직각삼각형 출력하기' - Java (0) | 2023.02.22 |
[프로그래머스] '피자 나눠 먹기 (3)' - Java (0) | 2022.12.20 |
[프로그래머스] '피자 나눠 먹기 (2)' - Java (0) | 2022.12.20 |