Where who wants to meet someone
백준 Swift [3009] 네 번째 점 본문
728x90
난이도
브론즈 III
문제
https://www.acmicpc.net/problem/3009
내 답안
// 직사각형을 만들려면 필요한 네 점은 (x, y) (x, y2), (x2, y) (x2, y2)
var x: [Int: Int] = [:]
var y: [Int: Int] = [:]
for _ in 1...3 {
let input = readLine()!.split(separator: " ").map { Int($0)! }
x[input[0]] = x[input[0]] == nil ? 1 : x[input[0]]! + 1
y[input[1]] = y[input[1]] == nil ? 1 : y[input[1]]! + 1
}
print(x.filter{ $0.value == 1 }.keys.first!, y.filter{ $0.value == 1 }.keys.first!)
- 4개의 점으로 직사각형을 만든다면 x와 y값으로 나누어 봤을 때 각각 하나씩만 나오는 숫자가 있을텐데 그 숫자의 조합이 필요한 점이라 생각했다.
- 조금 더 간단한 방법이 있겠지만 이 방법으로 하여 각 입력값을 dictionary에 담고, 그 중 value가 1인 키의 값을 출력하도록 했다.
'백준 알고리즘 문제 기록 > 기하: 직사각형과 삼각형' 카테고리의 다른 글
백준 Swift [10101] 삼각형 외우기 (0) | 2023.07.02 |
---|---|
백준 Swift [9063] 대지 (0) | 2023.07.02 |
백준 Swift [15894] 수학은 체육과목 입니다 (0) | 2023.07.02 |
백준 Swift [1085] 직사각형에서 탈출 (0) | 2023.07.02 |
백준 Swift [27323] 직사각형 (0) | 2023.07.02 |