Bird
Raised Fist0
Kotlinprogramming~10 mins

Take, drop, and chunked in Kotlin - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to take the first 3 elements from the list.

Kotlin
val numbers = listOf(1, 2, 3, 4, 5)
val firstThree = numbers.[1](3)
println(firstThree)
Drag options to blanks, or click blank then click option'
Atake
Bdrop
Cchunked
Dslice
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'drop' will skip elements instead of taking them.
Using 'chunked' splits the list into groups, not just taking elements.
2fill in blank
medium

Complete the code to drop the first 2 elements from the list.

Kotlin
val letters = listOf("a", "b", "c", "d")
val afterDrop = letters.[1](2)
println(afterDrop)
Drag options to blanks, or click blank then click option'
Atake
Bchunked
Cdrop
Dslice
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'take' will select elements instead of skipping them.
Using 'chunked' groups elements but does not drop.
3fill in blank
hard

Fix the error in the code to split the list into chunks of size 2.

Kotlin
val nums = listOf(10, 20, 30, 40, 50)
val chunks = nums.[1](2)
println(chunks)
Drag options to blanks, or click blank then click option'
Achunked
Bdrop
Ctake
Dslice
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'take' or 'drop' will not split the list into chunks.
Using 'slice' requires ranges, not chunk sizes.
4fill in blank
hard

Fill both blanks to take the first 4 elements and then drop 2 from them.

Kotlin
val data = listOf(5, 6, 7, 8, 9)
val result = data.[1](4).[2](2)
println(result)
Drag options to blanks, or click blank then click option'
Atake
Bdrop
Cchunked
Dslice
Attempts:
3 left
💡 Hint
Common Mistakes
Reversing the order of 'take' and 'drop' changes the result.
Using 'chunked' instead of 'drop' or 'take' here is incorrect.
5fill in blank
hard

Fill all three blanks to chunk the list into size 3, then take the first chunk, and drop its first element.

Kotlin
val items = listOf("x", "y", "z", "w", "v", "u")
val processed = items.[1](3).[2](1)[0].[3](1)
println(processed)
Drag options to blanks, or click blank then click option'
Achunked
Btake
Cdrop
Dslice
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'drop' instead of 'take' to select the first chunk will skip chunks and select a different one.
Trying to use 'slice' instead of 'chunked' to split the list.

Practice

(1/5)
1. What does the Kotlin function take(3) do when called on a list?
easy
A. Returns the first 3 items of the list
B. Removes the first 3 items from the list
C. Splits the list into chunks of size 3
D. Returns the last 3 items of the list

Solution

  1. Step 1: Understand the take function

    The take(n) function returns the first n elements from a list.
  2. Step 2: Apply to the example

    Calling take(3) returns the first 3 items, not removing or splitting the list.
  3. Final Answer:

    Returns the first 3 items of the list -> Option A
  4. Quick Check:

    take(3) = first 3 items [OK]
Hint: Remember: take(n) grabs first n items [OK]
Common Mistakes:
  • Confusing take with drop
  • Thinking take removes items
  • Mixing take with chunked
2. Which of the following is the correct syntax to split a list myList into chunks of size 4 in Kotlin?
easy
A. myList.take(4)
B. chunked(myList, 4)
C. myList.drop(4)
D. myList.chunked(4)

Solution

  1. Step 1: Identify the chunked function usage

    The chunked(size) function is called as a method on the list with the chunk size as argument.
  2. Step 2: Check each option

    Only myList.chunked(4) matches the correct syntax. Others are either wrong method or wrong call style.
  3. Final Answer:

    myList.chunked(4) -> Option D
  4. Quick Check:

    chunked called as method with size [OK]
Hint: chunked is a method: list.chunked(size) [OK]
Common Mistakes:
  • Using chunked as a standalone function
  • Confusing chunked with take or drop
  • Wrong argument order
3. What is the output of the following Kotlin code?
val numbers = listOf(10, 20, 30, 40, 50, 60)
val result = numbers.drop(2).take(3)
println(result)
medium
A. [40, 50, 60]
B. [10, 20, 30]
C. [30, 40, 50]
D. [20, 30, 40]

Solution

  1. Step 1: Apply drop(2) on the list

    Dropping first 2 items removes 10 and 20, leaving [30, 40, 50, 60].
  2. Step 2: Apply take(3) on the dropped list

    Taking first 3 items from [30, 40, 50, 60] gives [30, 40, 50].
  3. Final Answer:

    [30, 40, 50] -> Option C
  4. Quick Check:

    drop(2) then take(3) = [30, 40, 50] [OK]
Hint: drop removes first n, then take picks next n [OK]
Common Mistakes:
  • Taking before dropping
  • Off-by-one errors in indexing
  • Confusing drop and take order
4. Identify the error in this Kotlin code snippet:
val list = listOf(1, 2, 3, 4, 5)
val chunks = list.chunked(0)
println(chunks)
medium
A. listOf cannot be used with chunked
B. chunked size cannot be zero
C. Missing import for chunked function
D. drop should be used instead of chunked

Solution

  1. Step 1: Understand chunked parameter requirements

    The chunked(size) function requires a positive integer size greater than zero.
  2. Step 2: Analyze the code

    Using chunked(0) is invalid and will throw an IllegalArgumentException.
  3. Final Answer:

    chunked size cannot be zero -> Option B
  4. Quick Check:

    chunked size > 0 [OK]
Hint: chunked size must be positive, never zero [OK]
Common Mistakes:
  • Using zero or negative chunk size
  • Assuming chunked works like drop
  • Ignoring runtime exceptions
5. Given a list val data = listOf(1, 2, 3, 4, 5, 6, 7), which Kotlin expression produces a list of chunks of size 3, but only for the last 6 elements?
hard
A. data.drop(1).chunked(3)
B. data.take(6).chunked(3)
C. data.chunked(3).drop(1)
D. data.chunked(3).take(2)

Solution

  1. Step 1: Identify last 6 elements

    Using drop(1) removes the first element, leaving last 6 elements [2,3,4,5,6,7].
  2. Step 2: Chunk the remaining list

    Calling chunked(3) on [2,3,4,5,6,7] splits it into [[2,3,4], [5,6,7]].
  3. Final Answer:

    data.drop(1).chunked(3) -> Option A
  4. Quick Check:

    drop(1) then chunked(3) = last 6 in chunks [OK]
Hint: Drop first, then chunk to get last elements in groups [OK]
Common Mistakes:
  • Using take instead of drop for last elements
  • Chunking before dropping
  • Miscounting chunk sizes
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard