Daily LeetCode Challenge - 953. Verifying an Alien Dictionary

Min Young Kim·2023년 2월 2일
0

algorithm

목록 보기
62/198

Problem From.
https://leetcode.com/problems/verifying-an-alien-dictionary/

오늘 문제는 알파벳 모음 words 배열과 알파벳의 순서 order 문자열이 주어졌을때, order 를 활용하여 words 가 사전순으로 나열되어있는지 아닌지 확인하는 문제였다.

문제풀이는 간단하게 words 의 배열을 앞에서부터 두개씩 비교해나가며, 각 자리의 문자가 사전순으로 되어있는지 확인하였다. 만약 모든 문자가 똑같은데 앞의 문자가 뒤의 문자보다 길다면, 사전순으로 뒤에 있는게 되므로 false 를 리턴해야 했다.

class Solution {
    fun isAlienSorted(words: Array<String>, order: String): Boolean {
        for(i in 0 until words.size - 1) {   
            var index = 0
            var next = false
            while(index < words[i].length && index < words[i+1].length && !next) {
                if(order.indexOf(words[i][index]) > order.indexOf(words[i+1][index])) return false
                if(order.indexOf(words[i][index]) < order.indexOf(words[i+1][index])) next = true
                index += 1
            }
            if(!next && words[i].length > words[i+1].length) return false         
        }
        return true
    }
}
profile
길을 찾는 개발자

0개의 댓글