[백준] 두 수의 합 3273 (Silver3) — 해시 개념으로 시간복잡도 줄이기
·
Algorithms/Problem Solving
https://www.acmicpc.net/problem/3273 문제 간단 요약길이 N의 수열이 주어진다.서로 다른 두 수 a, b를 골라 a + b = X를 만족하는 쌍의 개수를 구하라.같은 쌍을 순서만 바꿔서 세면 안 된다.(예: (1, 9)와 (9, 1)은 같은 쌍) 핵심은 모든 쌍을 다 보지 않고도 조건을 만족하는 경우의 수를 빠르게 세는 것. 처음 떠올릴 수 있는 풀이 (하지만 비효율적)가장 직관적인 방법은 이중 반복문이다.모든 원소 a에 대해나머지 모든 원소 b를 더해보며 a + b == X인지 확인이 경우 시간복잡도는-> O(N²)N이 커질수록 시간 초과가 날 수밖에 없다.관점 전환: “더하는 대신, 존재 여부를 확인하자”이 문제를 이렇게 바꿔서 생각할 수 있다.arr에 어떤 값 a가 있을..