알고리즘/PS
[BOJ] 1253 좋다 (Swift)
문제 링크 https://www.acmicpc.net/problem/1253 문제 접근 N 개의 수 중 어떤 수가 다른 두 수의 합이 되는 숫자의 개수를 찾아야 한다. 주의할 점은, 각 수가 가질 수 있는 숫자의 범위가 절댓값 1,000,000,000이라는 것이다. 물론 주어진 수를 하나씩 비교하며 답을 찾을 수 있을 것이다. 그치만 그 방식으로 실행한다면 시간이 엄청 오래 걸릴 것이다.그럼 시간을 줄일 수 있는 방법을 찾아야 한다. 일단 이 문제는 숫자의 순서를 유지할 필요가 없다. 그럼 정렬을 하는 방법을 생각할 수 있다. 오름차순으로 정렬했을 때, 앞에서부터 두 개의 숫자를 더해서 답을 찾고자할 수 있다. 하지만 이 경우에도 최악의 경우 시간복잡도가 O(N^3)이 될 것이다. 두 수를 얻기 위한..