빈도 Map
Coddy Kotlin 여정의 논리와 흐름 섹션에 포함된 레슨. 63개 중 8번째.
빈도 맵은 각 항목이 얼마나 자주 발생하는지 저장합니다. 각 입력에 대해 현재 개수 또는 0을 읽고, 하나를 더한 값을 다시 씁니다. 이를 통해 안전한 조회, 변경 가능한 할당 및 반복을 결합합니다.
main 내부:
val counts = mutableMapOf<String, Int>()
for (word in listOf("red", "blue", "red")) {
counts[word] = (counts[word] ?: 0) + 1
}
println(counts["red"])red 개수는 1로 삽입된 다음 2로 업데이트됩니다.
누락된 빈도는 현재 발생 횟수가 추가되기 전에 0에서 시작합니다.
챌린지
중급매개변수 words: List<String>, target: String을 사용하여 wordFrequency를 완성하세요. 빈도 맵을 만들고 target이 나타나는 횟수를 반환하세요. 일치 여부는 대소문자를 구분합니다.
위에서 더 엄격한 범위를 지정하지 않은 경우, 각 수준의 컬렉션에는 최대 100개의 요소가 포함되며 정수 인수와 정수 컬렉션 값은 -1000에서 1000 사이입니다. 파싱을 위해 제공되는 텍스트에는 설명된 것처럼 유효하지 않거나 범위를 벗어난 표현이 포함될 수 있습니다.
Int 타입의 값을 반환하세요. 제공된 입력/출력 코드를 유지하세요. 이 코드는 스칼라 인수를 한 줄에 하나씩 읽습니다. 리스트는 개수와 그 뒤의 요소로 시작하고, 맵은 항목 개수와 그 뒤의 각 키 및 값으로 시작합니다. 중첩 리스트는 각 행에 대해 개수와 요소 형식을 반복합니다. 제공된 main은 반환값 뒤에 줄바꿈 하나를 출력합니다. 리스트에는 Kotlin의 표준 대괄호 형식을 사용하고, 추가 레이블은 출력하지 마세요.
직접 해보기
fun wordFrequency(words: List<String>, target: String): Int {
// 여기에 솔루션을 작성하세요.
return 0
}
fun main() {
val wordsCount = readln().toInt()
val words = mutableListOf<String>()
for (i0 in 0 until wordsCount) {
val wordsItem = readLine().orEmpty()
words.add(wordsItem)
}
val target = readLine().orEmpty()
println(wordFrequency(words, target))
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: Kotlin 플레이그라운드