[알고리즘 기법] 특정 원소 뒤집기

goyo·2025년 9월 20일
//특정 원소만 뒤집기
public class Main02 {
    public ArrayList<String> solution(String[] str, int n) {
        ArrayList<String> answer = new ArrayList<>();

        for (String x : str) {
            char[] s = x.toCharArray();
            int left = 0;
            int right = x.length() -1;
            while (left < right) {
                char tmp = s[left]; //왼쪽 값 구하기
                s[left] = s[right]; //왼쪽 값에 오른쪽 값 할당
                s[right] = tmp;     //오른쪽 값에 왼쪽 값 할당
                left++; //다음 문자
                right--; //다음 문자
            }
            String tmp = String.valueOf(s);
            answer.add(tmp);
        }
        return answer;
    }


public static void main(String[] args){
    Main02 T = new Main02();
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    String[] str = new String[n];
    for (int i = 0; i < n; i++) {
        str[i] = sc.next();
    }

    for (String x : T.solution(str, n)) {
        System.out.println(x);
    }
}

String 연산이 많을 때 StringBuilder 를 쓰면 메모리 낭비없음

String 객체를 더 만들지 않아도 되기 때문.

0개의 댓글