코딩테스트/String

문자열 뒤집기(StirngBuilder 사용)

도비는자유에오 2022. 5. 29. 17:41

이번 문제는 입력받은 문자열을 뒤집는 문제이다

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Scanner in=new Scanner(System.in);
        int n = in.nextInt();
        String[] arr = new String[n];

        for(int i =0; i<n;i++) {
        	arr[i] = in.next();
        }
        //문자열 배열 생성
        String[] answer = new String[arr.length];
        
        int idx= 0;
        
        for(String x : arr) {
            //문자열을 뒤집는 함수
        	String reverse = new StringBuilder(x).reverse().toString();
            answer[idx] = reverse;
            idx++;			
        }
        
        for(String x : answer) {	    	
        	System.out.println(x); 
        }
    }	
}

String 문자열을 하나씩 비교해서 연산하면 시간이 너무 오래걸리므로,

StirngBuilder 함수를 사용해서 쉽게 변경할 수 있다.

StringBuilder 란?)

JAVA 에서 String 객체는 변경이 불가하다. StringBuilder는 변경가능한 문자열을 만들어 주기 때문에 ,

기존의 문자열을 수정할때 새로운 값을 할당되는 불필요한 메모리가 필요없어진다. 

StringBuilder에 변경할 문자 x 를 넣고, reverse() : 뒤집기함수 를 사용 후 , toString으로 문자열 정의를 꼭 해줘야 String 에 담을 수 있다!!

StringBuilder에 대한 개념과함수의 자세한 설명은 아래 블로그를 추천한다. 

https://wakestand.tistory.com/245