๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ๊ฒน์น˜๋Š” ์„ ๋ถ„์˜ ๊ธธ์ด

by hyebin (Helia) 2023. 1. 3.
๋ฐ˜์‘ํ˜•

๊ฒน์น˜๋Š” ์„ ๋ถ„์˜ ๊ธธ์ด

๋ฌธ์ œ ์„ค๋ช…

์„ ๋ถ„ 3๊ฐœ๊ฐ€ ํ‰ํ–‰ํ•˜๊ฒŒ ๋†“์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ธ ์„ ๋ถ„์˜ ์‹œ์ž‘๊ณผ ๋ ์ขŒํ‘œ๊ฐ€ [[start, end], [start, end], [start, end]] ํ˜•ํƒœ๋กœ ๋“ค์–ด์žˆ๋Š” 2์ฐจ์› ๋ฐฐ์—ด lines๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋‘ ๊ฐœ ์ด์ƒ์˜ ์„ ๋ถ„์ด ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์˜ ๊ธธ์ด๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ๋ณด์„ธ์š”.

 

lines๊ฐ€ [[0, 2], [-3, -1], [-2, 1]]์ผ ๋•Œ ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์„ ๋ถ„์ด ๋‘ ๊ฐœ ์ด์ƒ ๊ฒน์นœ ๊ณณ์€ [-2, -1], [0, 1]๋กœ ๊ธธ์ด 2๋งŒํผ ๊ฒน์ณ์žˆ์Šต๋‹ˆ๋‹ค.

์ œํ•œ ์‚ฌํ•ญ

  • lines์˜ ๊ธธ์ด = 3
  • lines์˜ ์›์†Œ์˜ ๊ธธ์ด = 2
  • ๋ชจ๋“  ์„ ๋ถ„์€ ๊ธธ์ด๊ฐ€ 1 ์ด์ƒ์ž…๋‹ˆ๋‹ค.
  • lines์˜ ์›์†Œ๋Š” [a, b] ํ˜•ํƒœ์ด๋ฉฐ, a, b๋Š” ๊ฐ๊ฐ ์„ ๋ถ„์˜ ์–‘ ๋์ ์ž…๋‹ˆ๋‹ค.
    • -100 ≤ a < b ≤ 100

์ž…์ถœ๋ ฅ ์˜ˆ

lines result
[[0, 1], [2, 5], [3, 9]] 2
[[-1, 1], [1, 3], [3, 9]] 0
[[0, 5], [3, 9], [1, 10]] 8

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • ๋‘ ๋ฒˆ์งธ, ์„ธ ๋ฒˆ์งธ ์„ ๋ถ„ [2, 5], [3, 9]๊ฐ€ [3, 5] ๊ตฌ๊ฐ„์— ๊ฒน์ณ์žˆ์œผ๋ฏ€๋กœ 2๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • ๊ฒน์นœ ์„ ๋ถ„์ด ์—†์œผ๋ฏ€๋กœ 0์„ return ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #3

  • ์ฒซ ๋ฒˆ์งธ์™€ ๋‘ ๋ฒˆ์งธ ์„ ๋ถ„์ด [3, 5] ๊ตฌ๊ฐ„์—์„œ ๊ฒน์นฉ๋‹ˆ๋‹ค.
  • ์ฒซ ๋ฒˆ์งธ์™€ ์„ธ ๋ฒˆ์งธ ์„ ๋ถ„ [1, 5] ๊ตฌ๊ฐ„์—์„œ ๊ฒน์นฉ๋‹ˆ๋‹ค.
  • ๋‘ ๋ฒˆ์งธ์™€ ์„ธ ๋ฒˆ์งธ ์„ ๋ถ„ [3, 9] ๊ตฌ๊ฐ„์—์„œ ๊ฒน์นฉ๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ [1, 9] ๊ตฌ๊ฐ„์— ๋‘ ๊ฐœ ์ด์ƒ์˜ ์„ ๋ถ„์ด ๊ฒน์ณ์žˆ์œผ๋ฏ€๋กœ, 8์„ return ํ•ฉ๋‹ˆ๋‹ค.            

์ œ์ถœ

import Foundation

func solution(_ lines:[[Int]]) -> Int {
    var table = Array(repeating: Set<Int>(), count: 200)
    for i in 0..<lines.count{
        for j in lines[i][0]..<lines[i][1]{
            table[j+100].insert(i)
        }
    }
    return table.filter{$0.count > 1}.count
}
์ •์ˆ˜ํ˜• ์ง‘ํ•ฉ์„ ์š”์†Œ๋กœ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐฐ์—ด table์„ ์„ ์–ธํ•œ๋‹ค. (-100 ≤ a < b ≤ 100 ์ด๊ธฐ ๋•Œ๋ฌธ์— 200๊ฐœ)
lines ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•˜์—ฌ table์— ๋ช‡ ๋ฒˆ์งธ ์„ ๋ถ„์ธ์ง€ ์ถ”๊ฐ€ํ•œ๋‹ค.
table ๋ฐฐ์—ด์„ filter ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์ด 2๊ฐœ ์ด์ƒ์ธ ๊ตฌ๊ฐ„(์„ ์ด ๊ฒน์ณ์žˆ๋Š” ๊ตฌ๊ฐ„)์„ ๊ณ„์‚ฐํ•œ ํ›„, ๊ทธ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

๋ฐ˜์‘ํ˜•