Java / / 2022. 7. 24. 12:18

[알고리즘/Java] String(문자열) - 단어 뒤집기

반응형

단어 뒤집기

 


 

방법 1. Stringbuilder(string).reverse()

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public ArrayList<String> solution(int n, String[] str){
        ArrayList<String> answer = new ArrayList<>();
        for (String x : str) {
            String tmp = new StringBuilder(x).reverse().toString();
            answer.add(tmp);
        }
        return answer;
    }

    public static void main(String[] args) {
        Main T = new Main();
        Scanner kb = new Scanner(System.in);
        int n = kb.nextInt();
        String[] str = new String[n];
        for (int i = 0; i<n; i++){
            str[i] = kb.next();
        }
        for (String x : T.solution(n, str)) {
            System.out.println(x);
        }
    }
}

 

▶ reverse()

  • String클래스에서는 reverse()를 제공하지 않아서 변환하여 reverse()를 사용해야 한다.
  • StringBuilder, StringBuffer, Collection클래스에서  reverse() 메서드를 제공
  • String 문자열을 반전시키기 위해서는 위의 클래스로 변환해서 사용해야 한다.

 

 

방법 2. char[] 변환

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public ArrayList<String> solution(int n, String[] str){
        ArrayList<String> answer = new ArrayList<>();
        for (String x : str) {
            char[] s = x.toCharArray();

            int lt = 0, rt = x.length()-1;
            while (lt < rt){
                char tmp = s[lt];
                s[lt] = s[rt];
                s[rt] = tmp;
                lt++;
                rt--;
            }
            String tmp = String.valueOf(s);
            answer.add(tmp);
        }
        return answer;
    }

    public static void main(String[] args) {
        Main T = new Main();
        Scanner kb = new Scanner(System.in);
        int n = kb.nextInt();
        String[] str = new String[n];
        for (int i = 0; i<n; i++){
            str[i] = kb.next();
        }
        for (String x : T.solution(n, str)) {
            System.out.println(x);
        }
    }
}

 

▶ 참고

  • 해당 방법은 제일 앞 문자와 제일 뒤 문자를 뒤바꾸는 로직을 직접 구현한 것이다.
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유