ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kotlin 🍬 λ°±μ€€ 14단계 :: 1269 번
    2024. 3. 6. 23:45
    λ°˜μ‘ν˜•

    λŒ€μΉ­ 차집합

    문제   |

      μžμ—°μˆ˜λ₯Ό μ›μ†Œλ‘œ κ°–λŠ” 곡집합이 μ•„λ‹Œ 두 집합 A와 Bκ°€ μžˆλ‹€. μ΄λ•Œ, 두 μ§‘ν•©μ˜ λŒ€μΉ­ μ°¨μ§‘ν•©μ˜ μ›μ†Œμ˜ 개수λ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. 두 집합 A와 Bκ°€ μžˆμ„ λ•Œ, (A-B)와 (B-A)의 합집합을 A와 B의 λŒ€μΉ­ 차집합이라고 ν•œλ‹€.

      예λ₯Ό λ“€μ–΄, A = { 1, 2, 4 } 이고, B = { 2, 3, 4, 5, 6 } 라고 ν•  λ•Œ,  A-B = { 1 } 이고, B-A = { 3, 5, 6 } μ΄λ―€λ‘œ, λŒ€μΉ­ μ°¨μ§‘ν•©μ˜ μ›μ†Œμ˜ κ°œμˆ˜λŠ” 1 + 3 = 4κ°œμ΄λ‹€.

     

    μž…λ ₯   |

      첫째 쀄에 집합 A의 μ›μ†Œμ˜ κ°œμˆ˜μ™€ 집합 B의 μ›μ†Œμ˜ κ°œμˆ˜κ°€ 빈 칸을 사이에 두고 주어진닀. λ‘˜μ§Έ μ€„μ—λŠ” 집합 A의 λͺ¨λ“  μ›μ†Œκ°€, μ…‹μ§Έ μ€„μ—λŠ” 집합 B의 λͺ¨λ“  μ›μ†Œκ°€ 빈 칸을 사이에 두고 각각 주어진닀. 각 μ§‘ν•©μ˜ μ›μ†Œμ˜ κ°œμˆ˜λŠ” 200,000을 λ„˜μ§€ μ•ŠμœΌλ©°, λͺ¨λ“  μ›μ†Œμ˜ 값은 100,000,000을 λ„˜μ§€ μ•ŠλŠ”λ‹€.

     

    좜λ ₯   |

      첫째 쀄에 λŒ€μΉ­ μ°¨μ§‘ν•©μ˜ μ›μ†Œμ˜ 개수λ₯Ό 좜λ ₯ν•œλ‹€.

     

     

    풀이  |

      μž…λ ₯받은 listλ₯Ό set으둜 λ³€ν™˜ ν›„ 각각 - μ—°μ‚°ν•˜μ—¬ size λ₯Ό 더해쀀닀.

     

     

    λ‹΅μ•ˆ  |

    fun main() {
        val (A, B) = readLine()!!.split(" ").map { it.toInt() }
        val aList = readLine()!!.split(" ").map { it.toInt() }.toSet()
        val bList = readLine()!!.split(" ").map { it.toInt() }.toSet()
        
        val result = (aList - bList).size + (bList - aList).size
        
        print(result)
    }
    λ°˜μ‘ν˜•

    λŒ“κΈ€

Designed by Tistory.