알고리즘문풀 with SWIFT/Baekjoon

swift ) 백준 1037 약수

유사앱등이 2022. 4. 22. 11:44

 

진짜 약수의 개수는 왜 주어진걸까?

스위프트 말고 다른 언어에서는 갯수를 알아야 다 입력받을 수 있는걸까

아니면 다른 정석적인(?) 풀이 방법이 있는건가 생각을 해봤는데

그냥 이게 간단하고 맞는 것 같다.

 

// 1037 약수

let n = Int(readLine()!)!
let input = readLine()!.split(separator: " ").map{Int(String($0))!}
print(input.min()!*input.max()!)

 

주어지는 '진짜 약수'는 1과 자기 자신 n을 제외한 약수들이 주어지기 때문에

주어지는 약수의 가장 작은 값과 가장 큰 값을 곱하면 우리가 원하는 수 n을 구할 수 있다.

 

 

처음엔 주어지는 진짜 약수의 개수가 1개일 때 그 수를 제곱하는 조건문도 달아줬는데,

따로 조건문을 할 필요가 없는게

배열의 값이 1개일 때, min과 max값도 그 값이기 때문에 굳이 조건을 따로 고려할 필요가 없어서 뺐다.