분할과 결합
Coddy Kotlin 여정의 논리와 흐름 섹션에 포함된 레슨. 63개 중 46번째.
trim은 앞뒤 공백을 제거합니다. split은 구분 기호를 사용하여 텍스트를 여러 조각으로 나누고, joinToString은 선택한 구분자를 사용하여 조각들을 결합합니다. 이러한 작업을 통해 간단한 구분된 입력을 정규화할 수 있습니다. 여기서 구분 기호는 정규 표현식이 아닌 리터럴 텍스트입니다.
main 내부:
val parts = " red, blue ,green ".trim().split(",").map { it.trim() }
println(parts.joinToString(" | "))쉼표는 필드를 분할하고, trim은 각 필드를 정리하며, 최종 구분 기호는 필드 사이에 삽입됩니다.
필드 주변의 공백을 제거해야 할 때 분할한 후 개별 필드를 다듬습니다.
챌린지
중급text: String 매개변수를 사용하여 cleanFields를 완성하세요. 텍스트를 리터럴 쉼표를 기준으로 분할하고, 각 필드에서 공백을 제거한 다음, 빈 필드는 버리세요. 남은 필드를 입력 순서대로 반환하세요.
위에서 더 엄격한 범위를 명시하지 않은 경우, 컬렉션은 각 수준에서 최대 100개의 요소를 포함하며, 정수 인수와 정수 컬렉션 값은 -1000에서 1000 사이입니다. 파싱을 위해 제공되는 텍스트에는 설명된 대로 유효하지 않거나 범위를 벗어난 표현이 포함될 수 있습니다.
List<String> 유형의 값을 반환하세요. 제공된 입력/출력 코드를 유지하세요. 이 코드는 스칼라 인수를 한 줄에 하나씩 읽습니다. 리스트는 개수와 그 뒤에 오는 요소들로 시작하고, 맵은 항목 개수와 그 뒤에 오는 각 키와 값으로 시작합니다. 중첩 리스트는 각 행에 대해 개수와 요소 형식을 반복합니다. 제공된 main은 반환값 뒤에 줄바꿈 하나를 출력합니다. 리스트에는 Kotlin의 표준 대괄호 형식을 사용하며, 추가 레이블은 출력하지 마세요.
직접 해보기
fun cleanFields(text: String): List<String> {
// 여기에 솔루션을 작성하세요.
return emptyList()
}
fun main() {
val text = readLine().orEmpty()
println(cleanFields(text))
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: Kotlin 플레이그라운드