본문 바로가기
PS 문제 풀이/Baekjoon

[BOJ] 백준 9669 애너그램 (Java)

by 까망 하르방 2021. 2. 13.
반응형

출처: https://www.acmicpc.net/problem/6996

알파벳의 순서를 바꾸어서 문자열이 서로 일치한다면 애너그램이라고 한다.

문자열이 주어졌을 때, 애너그램 여부를 판단하는 문제.

    ex)  "flow" ↔ "wolf"

주어지는 문자열의 알파벳을 오름차순으로 정렬시킨 다음 문자열이 같은지 비교판단한다.

    ※ 관련문제: [Programmers] 문자열 내림차순으로 배치하기


import java.util.Arrays;
import java.util.Scanner;
 
public class Main {
     
    public static String sortStr(String str){
        char[] sol = str.toCharArray();
        Arrays.sort(sol);
        return new StringBuilder(new String(sol)).toString();
    }
     
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
         
        int N = Integer.parseInt(sc.next());
         
        for(int i=0; i < N; i++) {
            String A = sc.next();
            String B = sc.next();
 
            System.out.print(A + " & " + B + " are ");
            if(!sortStr(A).equals(sortStr(B))) {
                System.out.print("NOT ");
            }
            System.out.println("anagrams.");
        }
         
 
    }
}
반응형

댓글