Online-Judge/Programmers
[Programmers] 옹알이(1)
nyangzzi
2024. 11. 22. 14:17
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/120956
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
1. 조카는 4가지 단어만 발음할 수 있으므로 해당 단어들을 리스트로 만들어준다
val words = listOf("aya", "ye", "woo", "ma")
2. 주어진 단어들 babbling 리스트를 map으로 순회하면서 발음 할 수 있는 단어들을 지워준다
이때, 중간 단어가 사라지며 남은 문자들끼리 새 단어로 조합될 수 있으므로 "," 로 변환하여 새 단어가 만들어지지 않도록 한다!
ex) wyeoo -> ye를 없애면 woo 가 만들어져서 지워질 수 있다
babbling.map { str ->
words.fold(str) { acc, word->
acc.replace(word, ",")
}
}
3. 2에서 반환된 문자리스트에서 "," 를 다시 지워주고 빈 문자열을 카운트 한다
.count{ it
.replace(",","")
.isEmpty()
}
[전체코드]
class Solution {
fun solution(babbling: Array<String>): Int {
val words = listOf("aya", "ye", "woo", "ma")
return babbling.map { str ->
words.fold(str) { acc, word->
acc.replace(word, ",")
}
}.count{ it.replace(",","").isEmpty() }
}
}
반응형