Swift Data Structure And Algorithm/Basic Number Theory

findprime

youngjaeLee1026 2022. 3. 8. 21:53

1. ๋ฌธ์ œ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-03-08 21 49 06

2. ์ž…์ถœ๋ ฅ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-03-08 21 49 21

3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-03-08 21 49 39

4. ๋ฌธ์ œ ์„ค๊ณ„

  1. ์ฃผ์–ด์ง„ ๋ฌธ์ œ์˜ ํฌ๊ธฐ(N)๊ฐ€ 100์ด๋ฏ€๋กœ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์ œ๊ณฑ๊ทผ ๊นŒ์ง€ ์ง์ ‘ ๋‚˜๋ˆ„์–ด ๋ด„์œผ๋กœ์จ ์†Œ์ˆ˜์ธ์ง€ ํŒ๋ณ„
  2. O(N * N ^ 1/2) ์‹œ๊ฐ„๋ณต์žก๋„๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ

5. ์ „์ฒด ์ฝ”๋“œ

//
//  main.swift
//  FindPrime
//
//  Created by ์ด์˜์žฌ on 2022/03/08.
//MARK: - findprime

//MARK: - Framework
import Foundation

//MARK: - Function
func isPrimeNumber(_ number: Int) -> Bool {
    var isPrimeNumber: Bool = true
    
    if number == 1 {
        isPrimeNumber = false
    } else {
        var primeNumber: Int = 2
        while primeNumber * primeNumber <= number {
            if number % primeNumber == 0 {
                isPrimeNumber = false
                break
            }
            
            primeNumber += 1
        }
    }
    
    return isPrimeNumber
}

func solution() -> Void {
    //MARK: - Input
    guard let N: Int = Int(readLine() ?? "0") else { return }
    var primeNumberCount: Int = 0
            
    //MARK: - Process
    for _ in 0..<N {
        guard let number: Int = Int(readLine() ?? "0") else { return }
        primeNumberCount += isPrimeNumber(number) ? 1 : 0
    }
    
    //MARK: - Output
    print(primeNumberCount)
}
solution()

 

์ „์ฒด์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

'Swift Data Structure And Algorithm > Basic Number Theory' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

combinationpascal  (0) 2022.03.08
beehive  (0) 2022.03.08
fractionsum  (0) 2022.03.08
lcm  (0) 2022.03.08
PROSJEK  (0) 2022.03.08