MUKER_DEV with iOS

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - 2์ฐจ์›์œผ๋กœ ๋งŒ๋“ค๊ธฐ ๋ณธ๋ฌธ

๐Ÿค– ์•Œ๊ณ ๋ฆฌ์ฆ˜/programmers

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - 2์ฐจ์›์œผ๋กœ ๋งŒ๋“ค๊ธฐ

MUKER 2022. 12. 23. 13:43
 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr


๋ฌธ์ œํ’€์ด๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํ’€์ด์™€
๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ํ’€์ด๋กœ ๋‚˜๋ˆ„์–ด ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ณ ์ฐจํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํ’€์ด

import Foundation

func solution(_ num_list:[Int], _ n:Int) -> [[Int]] {
    var result = [[Int]]()
    var num1 = 0
    var num2 = n - 1
    repeat {
        result.append(Array(num_list[num1...num2]))
        num1 += n
        num2 += n
    } while num2 <= num_list.count

    return result
}
  • ์ •๋ง ์›์‹œ์ ์œผ๋กœ ํ’€์—ˆ๋‹คใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ Array์˜ ๋ฒ”์œ„๋ฅผ 0...n - 1์„ ์ค˜์„œ ์ •์งํ•˜๊ฒŒ ๋ฒ”์œ„ ๋งŒํผ์„ ๋นผ๋‚ด๊ณ 
  • ์ž๋ฅด๋Š” index์˜ ๊ฐœ์ˆ˜ ๋งŒํผ ๋ฒ”์œ„๋ฅผ ๋‹ค์Œ์œผ๋กœ ์˜ฎ๊ฒจ์ค€๋‹ค.
  • repeat while ๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๋งˆ์ง€๋ง‰ ๋ฒ”์œ„๊ฐ€ ๊ฐ™์•„์ ธ๋„ result๋ฐฐ์—ด์— append๋ฅผ ํ•˜๊ณ  ๋๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ๋‹ค.

 

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

import Foundation

func solution(_ numList: [Int], _ n: Int) -> [[Int]] {
    var answer = Array(repeating: Array(repeating: 0, count: n), count: numList.count / n)
    var count = 0

    for i in answer.indices {
        for j in answer[i].indices {
            answer[i][j] = numList[count]
            count += 1
        }
    }
    return answer
}
  • Array๋ฅผ repeatingํ•˜๋ฉด์„œ ๊ทธ ์•ˆ์— ํ•œ๋ฒˆ ๋” Array๋ฅผ repeating ํ•˜๋ฉฐ 2์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“œ๋Š” ์ฝ”๋“œ๋Š” ์‹ ๋ฐ•ํ–ˆ๋‹ค.
  • ์ €๋ ‡๊ฒŒ ๋นˆ ๋ฐฐ์—ด์„ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ๋†“๊ณ  ์ค‘์ฒฉ for๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
  • ๋ฐฐ์—ด.enumerated()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด (index,value)๋ฅผ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š”๋ฐ
  • ๋ฐฐ์—ด.indices๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด index๋งŒ ๋Œ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.