앞으로 매일 꾸준히 코딩테스트를 진행하면서 단계를 높여가보자.
문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.
1 ≤ my_string의 길이 ≤ 1,000
class Solution {
public String solution(String my_string) {
String answer ="";
char[] str = my_string.toCharArray();
char[] reverse = new char[str.length];
for(int i = 0; i < str.length; i++) {
reverse[i] = str[str.length -i -1];
}
answer = new String(reverse);
return answer;
}
}
1) String 타입의 문자열 my_string을 char 타입의 문자 배열 str을 만들어 값을 넣어준다.
2) char 타입의 문자 배열 reverse을 만들어 str 길이 만큼 배열 크기를 지정해준다.
3) 반복문으로 원래 문자 배열의 각 요소를 거꾸로 복사하여 새로운 배열 reverse에 저장한다.
chars.length - i - 1 은 원본 문자열에서 현재 반복문이 돌고 있는 위치 i를 거꾸로 뒤집은 인덱스이다.
4) 새로운 문자 배열 reverse를 이용하여 새로운 문자열을 생성한다.
5) answer 문자열을 반환한다.
class Solution {
public String solution(String my_string) {
StringBuilder reversed = new StringBuilder();
for(int i = my_string.length() - 1; i >= 0; i--) {
reversed.append(my_string.charAt(i));
}
return reversed.toString();
}
}
StringBuilder 클래스의 reverse() 메서드를 사용하여 문자열을 뒤집을 수 있다.
1) StringBuilder 클래스를 사용하여 문자열을 뒤집기 위한 객체인 reversed를 생성한다.
2) for(int i = my_string.length() - 1; i >= 0; i--) 반복문으로 입력으로 받은 문자열의 마지막 문자부터 처음 문자까지 반복한다.
3) append 메서드로 reversed에 추가한다.
4) toString 메서드로 문자열로 반환한다.
StringBuilder 클래스
Java에서 문자열을 효율적으로 처리하기 위한 클래스이다. String 클래스와는 달리 StringBuilder 클래스는 가변적이며 수정 가능한 문자열을 다룰 때 사용된다. 이 클래스는 문자열을 수정하고 조작할 때 메모리 할당과 복사를 최소화하여 성능을 향상시킨다.
사용한 메서드
참고 자료