SW아카데미 (23)/JAVA

[Java] toCharArray(), Arrays.sort()

튼튼한장 2023. 7. 26. 13:54
 

목차🍒

  1. toCharArray() 기능
  2. Arrays.sort() 기능
  3. 위의 두가지를 모두 사용한 코딩테스트 문제 풀이

 

더보기

학습 이유

이전시간에 학습한 StringTokenizer(), BufferedReader(), BufferedWriter()와 마찬가지로 코딩테스트 해설강의를 보며 공부하다가 모르는 부분이 나와서 공부하게 되었다.

 


🍒 1. toCharArray() 기능

 

String 문자열을 char형 배열로 바꿔서 변환해준다.

char[] S = br.readLine().toCharArray();
char[] T = br.readLine().toCharArray(); 
// 입력받은 String을 모두 잘라서 char형 배열에 저장해준다.

 


🍒 2. Arrays.sort() 기능

 

배열을 오름차순으로 정렬해준다.

char[] S = br.readLine().toCharArray();
char[] T = br.readLine().toCharArray(); 

Arrays.sort(S); 
Arrays.sort(T);
// char형 배열을 오름차순으로 정렬해준다.

 


🍒 3. toCharArray() & Arrays.sort()를 모두 사용한 코딩테스트 문제 풀이

 

<문제>

<문제풀이>

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Anagram2 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        char[] S = br.readLine().toCharArray(); // 문자열 S를 각각 char배열로 저장
        char[] T = br.readLine().toCharArray(); // S와 비교할 문자열 T도 마찬가지

        Arrays.sort(S); // 배열 S와 T를 비교하기 위해 모두 정렬
        Arrays.sort(T);

        boolean x = true; // 서로 값이 다른 경우 false
        for (int i = 0; i < S.length; i++) {
            if(S[i] != T[i]){
                x = false;
                break;
            }
        }

        if(x)
            System.out.println("YES");
        else
            System.out.println("NO");
    }
}