Notice
Recent Posts
Recent Comments
Link
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

lgvv98

[Swift] BOJ 1931ํšŒ์˜์‹ค ๋ฐฐ์ • ๋ณธ๋ฌธ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ

[Swift] BOJ 1931ํšŒ์˜์‹ค ๋ฐฐ์ •

๐Ÿฅ• ์บ๋Ÿฟ๋งจ 2022. 3. 22. 16:17

BOJ 1931ํšŒ์˜์‹ค ๋ฐฐ์ •

 

 

โœ… ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด๋Š” ์‰ฌ์› ์Œ

๋จผ์ € ์ •๋ ฌ์„ ํ•ด์•ผํ•˜๋Š”๋ฐ, ๋๋‚˜๋Š” ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ๋งŒ์•ฝ ๊ทธ ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ๊ฐ™๋‹ค๋ฉด ์‹œ์ž‘ ์‹œ๊ฐ„์ด ๋น ๋ฅธ ๊ฒƒ์„ ์•ž์—๋‹ค๊ฐ€ ๋ฐฐ์น˜ํ•จ.

๊ทธ ์ดํ›„๋กœ๋Š” ๊ทธ๋ฆฌ๋””(๊ทธ๋ƒฅ for๋ฌธ ๋‹ค ๋Œ๋ฆฌ๋ผ๋Š” ๋ง)๋กœ ํ’€๋ฉด ๋˜๋Š”๋ฐ, ํ˜„์žฌ ์‹œ๊ฐ„๊ณผ ์‹œ์ž‘์‹œ๊ฐ„์„ ๋น„๊ตํ•ด์„œ ์‹œ์ž‘์‹œ๊ฐ„์ด ๊ฐ™๊ฑฐ๋‹ค ๋” ๋’ค์— ์žˆ์œผ๋ฉด ์นด์šดํŠธ๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๊ณ  ํ˜„์žฌ ์‹œ๊ฐ„์„ ๋๋‚˜๋Š” ์‹œ๊ฐ„์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋œ๋‹ค.

 

ํฌ์ŠคํŒ…์„ ํ•œ๋‹ค๋Š” ๊ฑด ์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹จ ๋ง์ด๊ฒ ์ง€?

๋ฐฑ์ค€ ๋ฌธ์ œ๊ฐ€ ๋„ˆ๋ฌด ๋ถˆ์นœ์ ˆํ•ด์„œ,, ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ๋˜๋ฐ, ๋‹น์—ฐํžˆ ์ •๋ ฌ์ด ๋˜์–ด์žˆ๋Š”์ค„ ์•Œ์•˜์Œ.

์ •๋ ฌ์ด ์•ˆ๋˜์–ด ์žˆ์–ด์„œ ๊ทธ๋ž˜์„œ ์ •๋ ฌํ•˜๋‹ˆ๊นŒ ์™„๋ฃŒ

 

๋‚˜๋Š” ์ฒ˜์Œ์— 85%์ฏค์—์„œ ๋ง‰ํ˜”๋Š”๋ฐ ๋ฐ˜๋ก€๋ฅผ ์ฐพ์•˜์Œ

 

[๋ฐ˜๋ก€]

3

3 3

2 3

3 3

 

์˜ฌ๋ฐ”๋ฅธ ๋‹ต: 3

 

let iterator : Int! = Int(readLine()!)! // 1..<100000 ์ •์ˆ˜
        
        var time_list: [(Int, Int)] = []
        for _ in 0..<iterator {
            let input = readLine()!.split(separator: " ")
            let start: Int = Int(input[0])!
            let end: Int = Int(input[1])!
            time_list.append((start, end))
        }
        
        // ์ •๋ ฌ
        time_list = time_list.sorted {
            if $0.1 == $1.1 {
                return $0.0 < $1.0
            }
            return $0.1 < $1.1
        }
        
        // ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„
//        print(time_list)
        var currentTime = 0
        var count = 0
        time_list.forEach { start, end in
            if start >= currentTime { // ํšŒ์˜ ๊ฐ€๋Šฅํ•œ ์ผ€์ด์Šค
//                print("-> \(start) \(end)")
                count += 1
                currentTime = end
            }
        }
        print(count)
Comments