[프로그래머스] Lv.0 문자열 뒤집기.java

김엄지·2024년 4월 17일

알고리즘

목록 보기
45/90

🐤 목표

앞으로 매일 꾸준히 코딩테스트를 진행하면서 단계를 높여가보자.

문제 설명

문자열 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 클래스는 가변적이며 수정 가능한 문자열을 다룰 때 사용된다. 이 클래스는 문자열을 수정하고 조작할 때 메모리 할당과 복사를 최소화하여 성능을 향상시킨다.

사용한 메서드

  • append(String str): 지정된 문자열을 현재 StringBuilder 객체의 끝에 추가한다.
  • reverse(): 현재 StringBuilder 객체에 저장된 문자열을 거꾸로 뒤집는다.
  • toString(): 현재 StringBuilder 객체에 저장된 문자열을 String 객체로 변환하여 반환한다.

참고 자료

profile
나만의 무언가를 가진 프로그래머가 되자

0개의 댓글