1. 문제 설명 (📎Link)
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
2. 제한사항
3 ≤ n ≤ 1,000,000
📝 문제
import Foundation
func solution(_ n:Int) -> Int {
return 0
}
💻 내가 푼 방법(테스트 성공)
import Foundation
func solution(_ n:Int) -> Int {
//1부터 n까지 돌릴 변수x 선언
var x = 1
//찾은 약수를 모두 담아줄 배열 arr 선언
var arr: [Int] = []
//x가 n이랑 같지 않을 때 까지 반복하는 while문 설정
while x != n {
//n 나누기 x의 나머지가 1이라면
if n % x == 1 {
//상단에 선언해둔 arr 배열에 x를 담는다
arr.append(x)
}
//변수 x를 1씩 올린다(n이랑 같지 않을 때 까지 / n 바로 직전까지)
x += 1
}
//약수가 담긴 arr 배열 중 최소값을 뽑아냄
x = arr.min()!
return x
}
🔎 의문점과 공부한 것
1. append 함수를 처음 써봤고
2. 배열 중 최솟값을 찾아낸 min() 함수를 알아보았다
옵셔널이 붙는 이유에 대해 더 공부할 것!!
'🍎 Swift > Programmers' 카테고리의 다른 글
[👾 Programmers] 17. 자연수 뒤집어 배열로 만들기 (0) | 2024.06.21 |
---|---|
[👾 Programmers] 16. x만큼 간격이 있는 n개의 숫자 (0) | 2024.06.21 |
[👾 Programmers] 14. 약수의 합 (0) | 2024.06.18 |
[👾 Programmers] 13. 자릿수 더하기 (0) | 2024.06.18 |
[👾 Programmers] 12. 배열의 평균값 (0) | 2024.06.14 |