Menu
Coddy logo textTech

집합 연산

Coddy Kotlin 여정의 논리와 흐름 섹션에 포함된 레슨. 63개 중 13번째.

합집합은 어느 한 집합에서든 찾을 수 있는 원소를 유지하고, 교집합은 공통 원소를 유지하며, 차집합은 첫 번째 집합에는 있고 두 번째 집합에는 없는 원소를 유지합니다. 이러한 연산은 새로운 집합을 반환하며, 차집합은 피연산자의 순서에 따라 달라집니다.

main 내부:

val a = setOf(1, 2, 3)
val b = setOf(2, 4)
println(a.intersect(b).sorted())

두 집합 모두에 나타나는 것은 2뿐입니다.

교집합은 공통 구성원을 유지하며, 뺄셈은 방향성이 있습니다.

challenge icon

챌린지

중급

first: List<Int> 매개변수와 second: List<Int> 매개변수를 사용하여 sharedItems를 완성하세요. 두 입력에 모두 나타나는 중복 없는 정수를 오름차순으로 정렬하여 반환하세요.

위에 더 엄격한 범위가 명시되어 있지 않은 경우, 각 수준의 컬렉션에는 최대 100개의 요소가 포함되며, 정수 인수와 정수 컬렉션 값은 -1000에서 1000 사이입니다. 파싱을 위해 제공되는 텍스트에는 설명된 것처럼 유효하지 않거나 범위를 벗어난 표현이 포함될 수 있습니다.

List<Int> 유형의 값을 반환하세요. 제공된 입력/출력 코드를 그대로 유지하세요. 이 코드는 스칼라 인수를 한 줄에 하나씩 읽습니다. 리스트는 개수와 그 뒤에 오는 요소로 시작하고, 맵은 항목 개수와 그 뒤에 오는 각 키 및 값으로 시작합니다. 중첩 리스트에서는 각 행에 대해 개수와 요소 형식을 반복합니다. 제공된 main은 반환값을 출력한 뒤 줄바꿈을 하나 출력합니다. 리스트에는 Kotlin의 표준 대괄호 형식을 사용하며, 추가 레이블은 출력하지 마세요.

직접 해보기

fun sharedItems(first: List<Int>, second: List<Int>): List<Int> {
    // 여기에 솔루션을 작성하세요.
    return emptyList()
}
fun main() {
    val firstCount = readln().toInt()
    val first = mutableListOf<Int>()
    for (i0 in 0 until firstCount) {
        val firstItem = readln().toInt()
        first.add(firstItem)
    }
    val secondCount = readln().toInt()
    val second = mutableListOf<Int>()
    for (i0 in 0 until secondCount) {
        val secondItem = readln().toInt()
        second.add(secondItem)
    }
    println(sharedItems(first, second))
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨

직접 연습해 보세요: Kotlin 플레이그라운드