-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
💬 문제
💬 Idea
- 중복일 경우를 판별해주기 위해 key값을 사용할 수 있는 Dictionary type의 dict를 만들어주어 끝말잇기가 된 단어들을 저장해준다.
- 탈락조건: 한 글자 / 중복 단어 / 끝 글자와 이어지지 않는 경우
- 해당 탈락 조건에 해당될 경우 ans 배열에 번호, 순서를 저장해준 뒤 반복문을 탈출해준다.
- 문제에서 주어진 조건을 잘 읽어 테스트케이스를 잘 파악하자!!! (시간 낭비 줄이기)
💬 풀이
func solution(n:Int, words:[String]) -> [Int] {
var dict: [String: Int] = [:]
var ans = [0,0]
for (index, word) in words.enumerated() {
// 탈락 - 한 글자, 중복, 끝 말과 이어지지 않는 경우
if index != 0 && (dict[word] != nil || word.count == 1 || words[index - 1].last != word.first) {
ans = [(index % n) + 1, (index / n) + 1]
break
}
dict[word] = index
}
return ans
}