코딩테스트 고득점Kit부터 풀어보라 추천을 해줘서 이것부터 풀기로 했다. Hash문제에서 가장 첫번째 문제. 마라톤 참가 선수 배열과 완주선수 배열이 주어지고, 완주하지 못한 선수 이름을 반환하는 문제이다. 그저 마라톤 참가 선수 배열과 완주 선수 배열을 비교해 완주배열에 없는 이름을 리턴하면 된다. 여태까지 Hash를 써본적이 거의 없는데 이번 단계를 통해 확실히 알아두어야 할 듯 하다. Java import java.util.HashMap; public class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; HashMap hm = new HashMap(); for (St..
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..