MUKER_DEV with iOS

[swift] λ°±μ€€ - 2669번: μ§μ‚¬κ°ν˜• λ„€κ°œμ˜ ν•©μ§‘ν•©μ˜ 면적 κ΅¬ν•˜κΈ° λ³Έλ¬Έ

πŸ€– μ•Œκ³ λ¦¬μ¦˜/BAEKJOON

[swift] λ°±μ€€ - 2669번: μ§μ‚¬κ°ν˜• λ„€κ°œμ˜ ν•©μ§‘ν•©μ˜ 면적 κ΅¬ν•˜κΈ°

MUKER 2023. 7. 17. 11:35
문제 링크
 

2669번: μ§μ‚¬κ°ν˜• λ„€κ°œμ˜ ν•©μ§‘ν•©μ˜ 면적 κ΅¬ν•˜κΈ°

평면에 λ„€ 개의 μ§μ‚¬κ°ν˜•μ΄ 놓여 μžˆλŠ”λ° κ·Έ 밑변은 λͺ¨λ‘ κ°€λ‘œμΆ•μ— ν‰ν–‰ν•˜λ‹€. 이 λ„€ 개의 μ§μ‚¬κ°ν˜•λ“€μ€ μ„œλ‘œ λ–¨μ–΄μ Έ μžˆμ„ μˆ˜λ„ 있고, 겹쳐 μžˆμ„ μˆ˜λ„ 있고, ν•˜λ‚˜κ°€ λ‹€λ₯Έ ν•˜λ‚˜λ₯Ό 포함할 μˆ˜λ„ 있으

www.acmicpc.net


문제

평면에 λ„€ 개의 μ§μ‚¬κ°ν˜•μ΄ 놓여 μžˆλŠ”λ° κ·Έ 밑변은 λͺ¨λ‘ κ°€λ‘œμΆ•μ— ν‰ν–‰ν•˜λ‹€. 이 λ„€ 개의 μ§μ‚¬κ°ν˜•λ“€μ€ μ„œλ‘œ λ–¨μ–΄μ Έ μžˆμ„ μˆ˜λ„ 있고, 겹쳐 μžˆμ„ μˆ˜λ„ 있고, ν•˜λ‚˜κ°€ λ‹€λ₯Έ ν•˜λ‚˜λ₯Ό 포함할 μˆ˜λ„ 있으며, λ³€μ΄λ‚˜ 꼭짓점이 κ²ΉμΉ  μˆ˜λ„ μžˆλ‹€.

이 μ§μ‚¬κ°ν˜•λ“€μ΄ μ°¨μ§€ν•˜λŠ” 면적을 κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

μž…λ ₯은 λ„€ 쀄이며, 각 쀄은 μ§μ‚¬κ°ν˜•μ˜ μœ„μΉ˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λ„€ 개의 μ •μˆ˜λ‘œ 주어진닀. 첫 λ²ˆμ§Έμ™€ 두 번째의 μ •μˆ˜λŠ” μ‚¬κ°ν˜•μ˜ μ™Όμͺ½ μ•„λž˜ κΌ­μ§“μ μ˜ xμ’Œν‘œ, yμ’Œν‘œμ΄κ³  μ„Έ λ²ˆμ§Έμ™€ λ„€ 번째의 μ •μˆ˜λŠ” μ‚¬κ°ν˜•μ˜ 였λ₯Έμͺ½ μœ„ κΌ­μ§“μ μ˜ xμ’Œν‘œ, yμ’Œν‘œμ΄λ‹€. λͺ¨λ“  xμ’Œν‘œμ™€ yμ’Œν‘œλŠ” 1이상이고 100μ΄ν•˜μΈ μ •μˆ˜μ΄λ‹€.

좜λ ₯

첫 쀄에 λ„€κ°œμ˜ μ§μ‚¬κ°ν˜•μ΄ μ°¨μ§€ν•˜λŠ” 면적을 좜λ ₯ν•œλ‹€.

예제


성곡 풀이

var area: Set<[Int]> = []

for _ in 0..<4 {
    let arr = readLine()!.split { $0 == " " }.map { Int($0)! }
    for i in arr[0]..<arr[2] {
        for j in arr[1]..<arr[3] {
            area.insert([i,j])
        }
    }
}
print(area.count)

풀이 ν‚€μ›Œλ“œ

  • 면적의 ꡬ뢄은 μ™Όμͺ½ λ°‘ κΌ­μ§€μ μœΌλ‘œ κ²ΉμΉ˜λŠ” 뢀뢄을 κ΅¬λΆ„ν–ˆμŠ΅λ‹ˆλ‹€. Set에 λͺ¨λ“  꼭지점을 λ„£μ–΄ 면적의 갯수λ₯Ό κ΅¬ν–ˆμŠ΅λ‹ˆλ‹€.