MUKER_DEV with iOS

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - k์ง„์ˆ˜์—์„œ ์†Œ์ˆ˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ ๋ณธ๋ฌธ

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

[swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - k์ง„์ˆ˜์—์„œ ์†Œ์ˆ˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ

MUKER 2023. 3. 23. 15:38
 

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

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

programmers.co.kr


๋‚˜์˜ ํ’€์ด

import Foundation

// ์†Œ์ˆ˜ํŒ๋ณ„ ํ•จ์ˆ˜
func isPrimeNumber(x: Int) -> Bool {
    if x < 4 { return x == 1 ? false : true }
    for i in 2...Int(sqrt(Double(x))) {
        if (x % i == 0) { return false }
    }
    return true
}

func solution(_ n:Int, _ k:Int) -> Int {
    let arr = String(n,radix: k).split(separator: "0").map { Int($0)! }
    var result = 0
    for i in arr {
        if isPrimeNumber(x: i) { result += 1 }
    }
    return result
}

ํ’€์ด ํ‚ค์›Œ๋“œ

์†Œ์ˆ˜ํŒ๋ณ„ํ•˜๊ธฐ
x๋ผ๋Š” Int๊ฐ’์˜ ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด
for i in 2...(x์˜ ์ œ๊ณฑ๊ทผ)๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋ฉฐ
x % i ๊ฐ€ 0์ด ๋‚˜์˜จ๋‹ค๋ฉด ์†Œ์ˆ˜๊ฐ€ ๋  ์ˆ˜ ์—†๊ณ , ๋‹จ ํ•œ๋ฒˆ๋„ 0์ด ์•ˆ๋‚˜์˜จ๋‹ค๋ฉด ์†Œ์ˆ˜๋กœ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค.