https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 두 원의 외접, 내접, 한점에서 만나는 경우를 푸는 알고리즘. 문제만 이해하면 쉽게 풀 수 있다. 중학생때 배웠던것 같기도 하고.. import Foundation var cicleNum = Double(readLine()!)! for _ in 1...Int(cicleNum){ var coordinate = readLine()?.split(separator: " ").map{Int($0)!} var x = (coordinate![3]-coordina..
처음 풀어보는 프로그래머스 문제. 지문은 길지만 간단한 문제였다. 낙서된 숫자의 개수와 맞힌 숫자의 개수를 파악해 가능한 최고 등수와 최저 등수를 알아내면 된다. 즉 0이 3개일때, 맞힌 숫자가 1개일때는 0이 모두 맞췄을때와 맞힌숫자가 1개 이므로 총 4개의 숫자를 맞힌게 되니 3등이 되고, 최저는 0이 모두 틀렸다고 가정하게 1개만 맞춘것이므로 6등이 된다. func solution(_ lottos:[Int], _ win_nums:[Int]) -> [Int] { //0의 개수+맞은 번호 개수 var max = lottos.filter{(i:Int)in i==0}.count + lottos.filter{(i:Int)in win_nums.contains(i)}.count if 7-max>6 { max =..
https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net Double 타입에 파이가 있으므로 그걸 이용하자. 택시 기하학에서의 원의 넓이는 파이 대신에 2를 곱한것. import Foundation var radius = Double(readLine()!)! print(radius*radius*Double.pi) print(radius*radius*2)
https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net x좌표와 y좌표 3개중에 같은 좌표수가 1개인 좌표를 출력하면 된다. import Foundation var x = readLine()!.split(separator: " ").map {Int($0)!} var y = readLine()!.split(separator: " ").map {Int($0)!} var z = readLine()!.split(separator: " ").map {Int($0)!} var coordinate = [Int]() for i in 0 ... 1..
https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 한수의 상하좌우의 직사각형의 경계까지의 거리를 구한 후 거기서 가장 작은 수를 출력하면 된다. import Foundation var input = readLine()!.split(separator: " ").map({Int($0)!}) var list : [Int] = [] list.append(input[2] - input [0]) list.append(input[3] - ..
https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 웬만한 소수 문제는 에라토스테네스의 체를 사용해 풀면 시간내에 해결 할 수 있는듯 하다. 입력한 수를 절반으로 나눈 후 절반으로 나눈 수가 소수이면 절반으로 나눈수에 입력한 수를 뺀 수를 소수인지 판별 한 후 소수인지 판별, 그 후 둘다 소수이면 출력을 하도록 했다. import Foundation var repeatNum = Int(readLine()!)! for _ in 1..