โŒจ๏ธ Language/swift

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ์—ฐ์†๋œ ์ˆ˜์˜ ํ•ฉ

hyebin (Helia) 2023. 1. 20. 13:10
๋ฐ˜์‘ํ˜•
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0 ๋ชจ์Œ

์—ฐ์†๋œ ์ˆ˜์˜ ํ•ฉ

๋ฌธ์ œ ์„ค๋ช…

์—ฐ์†๋œ ์„ธ ๊ฐœ์˜ ์ •์ˆ˜๋ฅผ ๋”ํ•ด 12๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๋Š” 3, 4, 5์ž…๋‹ˆ๋‹ค. ๋‘ ์ •์ˆ˜ num๊ณผ total์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์—ฐ์†๋œ ์ˆ˜ num๊ฐœ๋ฅผ ๋”ํ•œ ๊ฐ’์ด total์ด ๋  ๋•Œ, ์ •์ˆ˜ ๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋‹ด์•„ returnํ•˜๋„๋ก solutionํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • 1 ≤ num ≤ 100
  • 0 ≤ total ≤ 1000
  • num๊ฐœ์˜ ์—ฐ์†๋œ ์ˆ˜๋ฅผ ๋”ํ•˜์—ฌ total์ด ๋  ์ˆ˜ ์—†๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

num total result
3 12 [3, 4, 5]
5 15 [1, 2, 3, 4, 5]
4 14 [2, 3, 4, 5]
5 5 [-1, 0, 1, 2, 3]

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

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

  • num = 3, total = 12์ธ ๊ฒฝ์šฐ [3, 4, 5]๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

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

  • num = 5, total = 15์ธ ๊ฒฝ์šฐ [1, 2, 3, 4, 5]๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

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

  • 4๊ฐœ์˜ ์—ฐ์†๋œ ์ˆ˜๋ฅผ ๋”ํ•ด 14๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๋Š” 2, 3, 4, 5์ž…๋‹ˆ๋‹ค.

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

  • 5๊ฐœ์˜ ์—ฐ์†๋œ ์ˆ˜๋ฅผ ๋”ํ•ด 5๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๋Š” -1, 0, 1, 2, 3์ž…๋‹ˆ๋‹ค.

์ œ์ถœ

import Foundation

func solution(_ num:Int, _ total:Int) -> [Int] {
    var answer = [Int]()
    var re = total/num
    var n = num/2
    
    if num%2 == 0{
        answer = Array(re-n+1...re+n)
    }else{
        answer = Array(re-n...re+n)
    }
    return answer
}

 

๋‹ค๋ฅธ ํ’€์ด

import Foundation

func solution(_ num:Int, _ total:Int) -> [Int] {
    let base = (total - (num * (num + 1) / 2)) / num + 1
    return (0..<num).map { $0 + base }
}
๋ฐ˜์‘ํ˜•