목록백준 알고리즘 문제 기록/약수, 배수와 소수 2 (9)
Where who wants to meet someone
난이도 실버 IV 문제 https://www.acmicpc.net/problem/2485 2485번: 가로수 첫째 줄에는 이미 심어져 있는 가로수의 수를 나타내는 하나의 정수 N이 주어진다(3 ≤ N ≤ 100,000). 둘째 줄부터 N개의 줄에는 각 줄마다 심어져 있는 가로수의 위치가 양의 정수로 주어지며, 가 www.acmicpc.net 내 답안 var trees = [Int]() for _ in 1...Int(readLine()!)! { trees.append(Int(readLine()!)!) } func gcd(bigOne: Int, smallOne: Int) -> Int { if smallOne == 0 { return bigOne } return gcd(bigOne: smallOne, smal..
난이도 실버 III 문제 https://www.acmicpc.net/problem/1735 1735번: 분수 합 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. www.acmicpc.net 내 답안 var firstInput = readLine()!.split(separator: " ").map { Int($0)! } var secondInput = readLine()!.split(separator: " ").map { Int($0)! } var result = [firstInput[0] * secondInput[1] + secondInput[0] * firstInput[1], firstInput[1] * se..
난이도 실버 V 문제 https://www.acmicpc.net/problem/13241 13241번: 최소공배수 정수 B에 0보다 큰 정수인 N을 곱해 정수 A를 만들 수 있다면, A는 B의 배수이다. 예: 10은 5의 배수이다 (5*2 = 10) 10은 10의 배수이다(10*1 = 10) 6은 1의 배수이다(1*6 = 6) 20은 1, 2, 4,5,10,20의 배수이다. 다 www.acmicpc.net 내 답안 let input = readLine()!.split(separator: " ").map { Int($0)! } var minimumNumber = input.max()! while true { if minimumNumber % input[0] == 0 && minimumNumber % inp..
난이도 브론즈 I 문제 https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 내 답안 for _ in 1...Int(readLine()!)! { let input = readLine()!.split(separator: " ").map { Int($0)! } let a = input.min()! let b = input.max()! // 최소공배수 = 두 자연수의 곱 / 최대공약수 var commonFactor = [Int]() f..