[프로그래머스] 영어 끝말잇기 Swift

프로그래머스 - 영어 끝말잇기

나의 풀이

import Foundation

func solution(_ n:Int, _ words:[String]) -> [Int] {
    // 규칙
    // 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다.
    // 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다.
    // 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다.
    // 이전에 등장했던 단어는 사용할 수 없습니다.
    // 한 글자인 단어는 인정되지 않습니다.
    
    var wordDB: [String] = []
    for i in 0..<words.count{
        var word = words[i]
        // 한 글자 이상인지
        if word.count < 1{
            print(word.count)
            return [i%n + 1, i/n + 1]
        }
        // 말했던 단어인지
        if wordDB.contains(words[i]){
            print(i)
            return [i%n + 1, i/n + 1]
        }
        // 마지막 문자와 첫 문자가 같은지
        if wordDB.count != 0{
            var lastWord = wordDB[wordDB.count - 1]
            if lastWord.removeLast() != word.removeFirst(){
                return [i%n + 1, i/n + 1]
            }
        }
        wordDB.append(words[i])
        
    }
    return [0,0]
}

좋은 웹페이지 즐겨찾기