https://school.programmers.co.kr/learn/courses/30/lessons/12921
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
변수 설정
- array = 0부터 n까지의 Boolean 타입의 배열
- decimalCount = 약수의 갯수
내 풀이
1. 0부터 n까지 true를 가지는 Bool 타입의 배열 array생성
2. 0 과 1은 약수가 아니므로 false로 변경
3. array의 모든 요소를 차례로 접근하여 true(소수)일 경우 소수의 배수들을 모두 false로 변경해준다.
이때 decimalCount를 1증가시켜 소수의 갯수를 증가시킴
ex) 2,4,6,8,10......
3,6,9,12....
* stride메서드
from 어디부터
through 어디까지(포함) , to어디까지(포함x)
by: 얼만큼 증가 혹은 감소 시킬 것인지
func solution(_ n:Int) -> Int {
var array = Array(repeating: true, count: n + 1)
var decimalCount = 0
array[0] = false
array[1] = false
for i in 0...n{
if array[i]{
for j in stride(from: i * 2, through: n, by: i){
array[j] = false
}
decimalCount += 1
}
}
return decimalCount
}
'Swift랑 친해지기 > programmers 풀기' 카테고리의 다른 글
[프로그래머스] 귤 고르기 (Swift) (0) | 2022.12.09 |
---|---|
[프로그래머스] n^2 배열 자르기 (Swift) (2) | 2022.12.08 |
[프로그래머스] 튜플 (Swift) (0) | 2022.12.06 |
[프로그래머스] 위장 (Swift) (0) | 2022.12.05 |
[프로그래머스] 땅따먹기 (Swift) (0) | 2022.11.30 |