레이블이 지정된 루프 계속하기
Coddy Kotlin 여정의 논리와 흐름 섹션에 포함된 레슨. 63개 중 43번째.
레이블이 지정된 continue는 이름이 지정된 루프의 현재 반복에서 나머지 부분을 건너뛰고 다음 반복을 시작합니다. 내부 루프에서 continue@rows는 유효하지 않은 셀이 하나라도 발견되는 즉시 현재 행 전체를 제외할 수 있습니다.
main 내부:
var accepted = 0
rows@ for (row in listOf(listOf(1, 2), listOf(3, -1), emptyList())) {
for (value in row) {
if (value < 0) continue@rows
}
accepted++
}
println(accepted)음수 셀이 해당 행을 거부합니다. 음수가 아닌 행과 빈 행은 증가 연산에 도달합니다.
레이블이 지정된 continue는 이름이 지정된 루프의 다음 반복으로 이동합니다.
챌린지
중급grid: List<List<Int>> 매개변수를 사용하여 nonnegativeRows를 완성하세요. 음수 값이 포함되지 않은 행의 수를 세세요. 빈 행도 포함됩니다. 음수 값이 있는 행을 제외하려면 레이블이 지정된 바깥쪽 루프에서 continue를 사용하세요.
위에서 더 엄격한 범위를 지정하지 않은 경우, 컬렉션은 각 수준에서 최대 100개의 요소를 포함하며, 정수 인수와 정수 컬렉션 값은 -1000에서 1000 사이입니다. 파싱을 위해 제공되는 텍스트에는 설명된 대로 유효하지 않거나 범위를 벗어난 표현이 포함될 수 있습니다.
Int 타입의 값을 반환하세요. 제공된 입력/출력 코드를 유지하세요. 스칼라 인수는 한 줄에 하나씩 읽습니다. 리스트는 개수와 그 뒤의 요소로 시작하고, 맵은 항목 개수와 그 뒤의 각 키 및 값으로 시작합니다. 중첩 리스트는 각 행에 대해 개수와 요소 형식을 반복합니다. 제공된 main은 반환된 값 뒤에 줄바꿈 하나를 출력합니다. 리스트에는 Kotlin의 표준 대괄호 형식을 사용하고, 추가 레이블은 출력하지 마세요.
직접 해보기
fun nonnegativeRows(grid: List<List<Int>>): Int {
// 여기에 솔루션을 작성하세요.
return 0
}
fun main() {
val gridCount = readln().toInt()
val grid = mutableListOf<List<Int>>()
for (i0 in 0 until gridCount) {
val gridItemCount = readln().toInt()
val gridItem = mutableListOf<Int>()
for (i1 in 0 until gridItemCount) {
val gridItemItem = readln().toInt()
gridItem.add(gridItemItem)
}
grid.add(gridItem)
}
println(nonnegativeRows(grid))
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: Kotlin 플레이그라운드