진짜 약수의 개수는 왜 주어진걸까?
스위프트 말고 다른 언어에서는 갯수를 알아야 다 입력받을 수 있는걸까
아니면 다른 정석적인(?) 풀이 방법이 있는건가 생각을 해봤는데
그냥 이게 간단하고 맞는 것 같다.
// 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값도 그 값이기 때문에 굳이 조건을 따로 고려할 필요가 없어서 뺐다.
'알고리즘문풀 with SWIFT > Baekjoon' 카테고리의 다른 글
swift ) 백준 1934 최소공배수 feat. 재귀함수&유클리드 호제법 (0) | 2022.04.22 |
---|---|
swift ) 백준 2609 최대공약수와 최소공배수 feat.유클리드 호제법 (0) | 2022.04.22 |
swift ) 백준 16917 - 양념 반 후라이드 반 (0) | 2022.04.21 |
swift ) 백준 16968 차량 번호판 (0) | 2022.04.21 |
swift ) 백준 10814 나이순 정렬 (0) | 2022.04.20 |