https://www.acmicpc.net/problem/6996
난이도 : 브론즈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.")
}
}
}
'코딩테스트 > Kotlin' 카테고리의 다른 글
[백준 26736번] [Kotlin] Wynik meczu (0) | 2023.01.17 |
---|---|
[백준 7785번] [Kotlin] 회사에 있는 사람 (0) | 2023.01.17 |
[백준 10699번] [Kotlin] 오늘 날짜 (0) | 2023.01.16 |
[백준 10867번] [Kotlin] 중복 빼고 정렬하기 (0) | 2023.01.15 |
[백준 11279번] [Kotlin] 최대 힙 (0) | 2023.01.15 |