반응형
출처: 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.");
}
}
}
반응형
'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글
[BOJ] 백준 2744 대소문자 바꾸기 (0) | 2021.02.16 |
---|---|
[BOJ] 백준 11648 지속 (0) | 2021.02.16 |
[BOJ] 백준 15685 드래곤 커브 (0) | 2021.02.13 |
[BOJ] 백준 14503 로봇 청소기 (0) | 2021.02.13 |
[BOJ] 백준 1676 팩토리얼 0의 개수 (Java) (0) | 2021.02.13 |
댓글