728x90
문제 설명
문제
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.
제한 사항
- 3 ≤ n ≤ 1,000,000
입출력 예
n | result |
10 | 3 |
12 | 11 |
해결
import Foundation
func solution(_ n:Int) -> Int {
for i in 2..<n {
if n%i == 1 {
return i
}
}
return 0
}
해결 방안 설명
반복문을 통해서 n까지의 숫자 중 나머지가 1인 수를 찾아서 반환하도록 구현
다른 풀이
import Foundation
func solution(_ n:Int) -> Int {
return (1...n).filter{n % $0 == 1}.min()!
}
filter를 통해 1부터 n까지의 수 중 나머지가 1인 수들을 모음을 만들고, 그 중 가장 작은 수를 min()를 통해 찾습니다.
'Algorithm' 카테고리의 다른 글
Set을 잘 쓰자. (0) | 2022.08.20 |
---|---|
백준 - 입출력과 사칙연산 (0) | 2022.08.17 |
프로그래머스 - 약수의 개수와 덧셈 (0) | 2022.04.14 |
프로그래머스 - 두 개 뽑아서 더하기 (0) | 2022.04.12 |
BST(이진 탐색 트리) - 구현 (0) | 2022.04.01 |