프로그래머스 (Swift)/lv 1

[lv1] 옹알이 (2)

은더기 2024. 7. 7. 17:22

문제

 

내 정답 코드

import Foundation

func solution(_ babbling:[String]) -> Int {
    var result = 0
    
    for word in babbling {
        var word = word
        word = word.replacingOccurrences(of: "aya", with: "1")
        word = word.replacingOccurrences(of: "ye", with: "2")
        word = word.replacingOccurrences(of: "woo", with: "3")
        word = word.replacingOccurrences(of: "ma", with: "4")
        
        if Int(word) == nil {
            continue
        }
        if !word.contains("11") && !word.contains("22") && !word.contains("33") && !word.contains("44") {
            result += 1
        }
    }
    return result
}

 

#

1. 쉬우면서도 안 풀렸던 어려운 문제

2. 단어를 숫자로 바꿔 푸는 힌트를 받아서 해결할 수 있었다.

3. 말할 수 있는 단어 4개를 모두 1, 2, 3, 4의 문자열로 바꿔준다.

4. 정수형으로  바꿨을 때 문자가 포함되어 있다면 nil이기 때문에 해당 문자는 제외시킨다.

5. "11"과 같이 연속된 숫자가 있으면 연속된 단어가 있다는 뜻이므로 제외 시켜준다.


배운 기술