목록전체 글 (214)
Where who wants to meet someone
난이도 실버 V 문제 https://www.acmicpc.net/problem/13909 13909번: 창문 닫기 첫 번째 줄에는 창문의 개수와 사람의 수 N(1 ≤ N ≤ 2,100,000,000)이 주어진다. www.acmicpc.net 내 답안 import Foundation let input = Int(readLine()!)! /* 4 = 1 2 4 9 = 1 3 9 16 = 1 2 4 8 16 */ var count = 0 var i: Float = 1 while Int(pow(i, 2))
난이도 실버 II 문제 https://www.acmicpc.net/problem/17103 17103번: 골드바흐 파티션 첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 N은 짝수이고, 2 < N ≤ 1,000,000을 만족한다. www.acmicpc.net 내 답안 import Foundation var testBed = [Bool](repeating: true, count: 1000000) testBed[0] = false testBed[1] = false for i in 2..
난이도 실버 II 문제 https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 내 답안 import Foundation var sosu = [Int]() func test(from valueScope: Int) { if valueScope < 2 { return } else if valueScope == 2 { sosu.append(valueScope) return } for i in 2...Int(sqrt(Double(valueScope)))..
난이도 실버 III 문제 https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 내 답안 import Foundation let input = readLine()!.split(separator: " ").map { Int($0)! } var a = input[0] var b = input[1] var sosu = [Int]() func test(with inputValue: Int) { if inputValue < 2 { return } for i in 2.. b) { test(wi..
난이도 실버 IV 문제 https://www.acmicpc.net/problem/4134 4134번: 다음 소수 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. www.acmicpc.net 내 답안 import Foundation func test(with inputValue: Int) -> Bool { if inputValue < 2 { return false } for i in 2..
난이도 실버 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..
난이도 실버 III 문제 https://www.acmicpc.net/problem/11478 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 내 답안 let input = readLine()!.map { $0 } var stringSet = Set() for i in 0.. Enable collaborative features and customize widget: Bing Webmaster Portal Back