[BOJ7453] 합이 0인 네 정수
Updated:
문제
- 정수로 이루어진 크기가 같은 배열 A, B, C, D가 있다.
- A[a], B[b], C[c], D[d]의 합이 0인 (a, b, c, d) 쌍의 개수를 구하는 프로그램을 작성
입력
- n (1<= <= 4000)
- 다음 n개의 줄에 정수가 공백으로 구분되어 주어짐
출력
- 합이 0이 되는 쌍의 개수
설계
- 컬럼 네 개를 두 개로 합치기 -> 컬럼 두 개를 더해서 하나로
- 두 컬럼을 이용해 합을 0으로 만드는 방법은 쉬움
- 첫 번째 접근 방법은 map을 이용하여 counting 하는 것인데, 조합이 꽤 많다보니 메모리 초과
- 두 번째 접근 방법은 binary search를 이용하여 조합한 두 개의 컨테이너에서 합이 0이 될 수 있는 조합 찾기
How I solved(click to github)
ref :
BOJ7453
Leave a comment