[Programmers] 문자열 뒤집기

dlrmawn·2023년 12월 8일
0

Java

목록 보기
8/16

🔍 문제

문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.


📄 입출력 예


⚙️ 정답코드

  • for문 이용
class Solution {
    public String solution(String my_string) {
        String answer = "";
        
        for(int i = my_string.length()-1; i >= 0; i--){
            answer += my_string.substring(i, i+1);
        }
        return answer;
    }
}
전체 길이에서 0까지 가감하는 반복문을 사용해주었다.
substring을 이용하여 한 글자씩 잘라 answer에 더해주었다.

  • StringBuilder 이용
class Solution {
    public String solution(String my_string) {
        StringBuilder reversedString = new StringBuilder();

        for (int i = my_string.length() - 1; i >= 0; i--) {
            reversedString.append(my_string.charAt(i));
        }

        return reversedString.toString();
    }
}
StringBuilder reversedString = new StringBuilder();
: 뒤집은 문자열을 저장할 새로운 StringBuilder 객체를 생성

반복문 조건은 위 for문과 동일하다.

reversedString.append(my_string.charAt(i));
: StringBuilder의 append 메소드를 사용하여 문자를 추가해주었다.
  이 방식은 문자열을 효율적으로 수정

return reversedString.toString();
: StringBuilder에 저장된 문자열을 반환하기 전에, toString 메소드를 사용하여 String으로 변환합니다.



초반에 for문을 이용하여 문제를 풀고 StringBuilder를 이용하면 문자열을 수정 가능한 형태로 다루어서 성능상의 이점이 있다는 것을 알게되었다.

이후 살펴본 StringBuilder에 관하여...

보통 사용하는 i++방식이 아닌 마지막 문자열에서 i--로 가감하는 방식을 생각하기까지 헤매었다.


profile
수정해야 할 내용 있으면 메일 부탁드립니다! ⍥

0개의 댓글

Powered by GraphCDN, the GraphQL CDN