Uknow's Lab.
article thumbnail

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

 

6996번: 애너그램

첫째 줄에 테스트 케이스의 개수(<100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 100을 넘지 않는 단어가 공백으로 구분되어서 주어진다. 단어는 알파벳 소문자로만 이루어

www.acmicpc.net

 

난이도 : 브론즈1
태그 : 구현, 문자열, 정렬

 

 

설명

애너그램이란 단어의 알파벳을 이리저리 움직여 다른 단어를 만드는 것을 말합니다.

코난에서 많이 쓰이던게 기억나네요.

 

이 문제에서는 단순히, 각 단어의 알파벳을 정렬하여 다시 합쳐,

두 단어가 같은지로 판단하였습니다.

 

 

소스코드

fun main() {
    val num = readLine()!!.toInt()

    for (i in 0 until num) {
        var line = readLine()!!.split(" ")

        var arr1 = line[0].uppercase().toCharArray().sorted().joinToString("")
        var arr2 = line[1].uppercase().toCharArray().sorted().joinToString("")

        if(arr1 != arr2) {
            println("${line[0]} & ${line[1]} are NOT anagrams.")
        }  else {
            println("${line[0]} & ${line[1]} are anagrams.")
        }
    }
}

 

profile

Uknow's Lab.

@유노 Uknow

인생은 Byte와 Double 사이 Char다. 아무말이나 해봤습니다.