[Swift] Stride

ํŒ”๋ž‘์ดยท2024๋…„ 5์›” 27์ผ
0

iOS/Swift

๋ชฉ๋ก ๋ณด๊ธฐ
20/71
post-thumbnail

๐Ÿ’ป ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ๊ณผ์ผ ์žฅ์ˆ˜ - ๋ฌธ์ œ ๋งํฌ


์ฒซ ํ’€์ด

import Foundation

func solution(_ k: Int, _ m: Int, _ score: [Int]) -> Int {
    var newScore = score
    var cost = 0
    newScore = newScore.filter { $0 <= k }.sorted(by: >)

    let boxCount = newScore.count / m

    for i in 0..<boxCount {
        let boxMinValue = newScore[(i * m) + (m - 1)]
        cost += boxMinValue * m
    }

    return cost
}

๋‹ค๋ฅธ์‚ฌ๋žŒ ํ’€์ด

import Foundation

func solution(_ k:Int, _ m:Int, _ score:[Int]) -> Int {
    let s = score.sorted(by: >)
    return stride(from: m-1, to: score.count, by: m)
        .reduce(0) { $0 + s[$1] * m }
}

stride()

์ผ์ •ํ•œ ๊ฐ„๊ฒฉ์„ ๋‘๊ณ  ์‹œํ€€์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
์‹œ์ž‘๊ฐ’๋ถ€ํ„ฐ ๋๊ฐ’๊นŒ์ง€ ์ผ์ •ํ•˜๊ฒŒ ์ฆ๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ฐ์†Œ

stride() ํ•จ์ˆ˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ

  1. stride(from: ์‹œ์ž‘๊ฐ’, to: ๋๊ฐ’(ํฌํ•จX), by: ๊ฐ„๊ฒฉ)
  2. stride(from: ์‹œ์ž‘๊ฐ’, through: ๋๊ฐ’(ํฌํ•จO), by: ๊ฐ„๊ฒฉ)

stride() ํ•จ์ˆ˜ ํ™œ์šฉํ•˜์—ฌ ๋ฐฐ์—ด ์ƒ์„ฑ

let array1 = Array(stride(from: 1, to: 10, by: 2))
print(array1)  // ์ถœ๋ ฅ: [1, 3, 5, 7, 9]

python list comprehension๊ฐ™์€๊ฒŒ ํ˜น์‹œ ์—†๋‚˜ ํ•˜๊ณ  ์ฒ˜์Œ์— ์ฐพ์•˜์—ˆ๋Š”๋ฐ, ๋น„์Šทํ•œ๊ฑด ์ฐพ์€ ๊ฒƒ ๊ฐ™๋‹ค. ๋” ํŽธํ•œ ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ๋“ค์„ ์ฐพ๊ณ  ์ตํžˆ๊ณ  ์‹ถ๋‹ค.
์•ž์œผ๋กœ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

profile
์ •์ฒด๋˜์ง€ ์•Š๋Š” ์„ฑ์žฅ

0๊ฐœ์˜ ๋Œ“๊ธ€