본문 바로가기
Online-Judge/Programmers

[Programmers] 옹알이(1)

by nyangzzi 2024. 11. 22.
반응형

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() }
    }
}

 

 

반응형

댓글