์ƒˆ์†Œ์‹

๐Ÿงฎ ์•Œ๊ณ ๋ฆฌ์ฆ˜/-- ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Programmers) - Swift

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] (Swift) - ๊ธฐ๋Šฅ๊ฐœ๋ฐœ

  • -

๋ฌธ์ œ ๋งํฌ : ๊ธฐ๋Šฅ๊ฐœ๋ฐœ

https://programmers.co.kr/learn/courses/30/lessons/42586

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ธฐ๋Šฅ๊ฐœ๋ฐœ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํŒ€์—์„œ๋Š” ๊ธฐ๋Šฅ ๊ฐœ์„  ์ž‘์—…์„ ์ˆ˜ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ๊ฐ ๊ธฐ๋Šฅ์€ ์ง„๋„๊ฐ€ 100%์ผ ๋•Œ ์„œ๋น„์Šค์— ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜, ๊ฐ ๊ธฐ๋Šฅ์˜ ๊ฐœ๋ฐœ์†๋„๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์•ž์— ์žˆ๋Š”

programmers.co.kr

 

๋ฌธ์ œ ๋ถ„๋ฅ˜ : ์Šคํƒ/ํ - Lv2

 

 

์ ‘๊ทผ ๋ฐฉ๋ฒ•

๋ฌธ์ œ ๋ถ„๋ฅ˜๊ฐ€ ์Šคํƒ/ํ ์ธ๋ฐ ๊ทธ๋ƒฅ ์Šคํƒ์ด๋‚˜ ํ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๊ณ  ๊ตฌํ˜„ํ•˜๊ณ ๋ณด๋‹ˆ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์ด ํ๋ผ๋Š” ๋ง๊ฐ™๋‹ค. ์•ž์— ๊ธฐ๋Šฅ์ด ๋‚˜๊ฐˆ๋•Œ์„œ์•ผ ๋’ค์— ๊ธฐ๋Šฅ๋„ ๊ทธ ๋‹ค์Œ์— ๋‚˜๊ฐˆ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ค„์„œ๊ธฐ์™€ ๋น„์Šทํ•œ ํ์˜ ๊ฐœ๋…๊ณผ ๊ฐ™์•˜๋‹ค.

๋ฌธ์ œ์—์„œ ์ œ์‹œํ•œ ์กฐ๊ฑด๋“ค์„ ์ข…ํ•ฉํ•ด๋ณด๋ฉด

  1. ๊ธฐ๋Šฅ๋“ค์˜ ๋‚จ์€ ๊ฐœ๋ฐœ์ผ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ 
    • ์ฝ”๋“œ์—์„œ solution ๋‚ด๋ถ€์— ๊ตฌํ˜„ํ–ˆ๋‹ค. ๋‚จ์€ ์ผ์ˆ˜๋ฅผ restDays๋ผ๋Š” ๋ฐฐ์—ด์— ๋‹ด์•˜๋‹ค.
  2. ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋” ๋นจ๋ฆฌ ์™„์„ฑ๋˜๋”๋ผ๋„, ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋ ๋•Œ ๋’ค์— ๊ธฐ๋Šฅ๋„ ํ•จ๊ป˜ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•˜๋‹ค.
    • merge๋ผ๋Š” ํ•จ์ˆ˜์— ๊ตฌํ˜„ํ–ˆ๋‹ค.

 

 

Swift Code

import Foundation

func merge(_ restDays:  [Int])->[Int]{
    var answers = [Int]()
    var answer = 0
    var temp = restDays[0]
    for restDay in restDays{
        if restDay <= temp{
            answer += 1
        }else{
            answers.append(answer)
            answer = 1
            temp = restDay
        }
    }
    answers.append(answer)
    return answers
}

func solution(_ progresses:[Int], _ speeds:[Int]) -> [Int] {
    let len = progresses.count
    var restDays = [Int]()
    for i in 0...len-1{
        let restDay = ceil( (100 - Double(progresses[i])) / Double(speeds[i]))
        restDays.append(Int(restDay))
    }
    return merge(restDays)
}
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.