728x90
문제
https://www.acmicpc.net/problem/3151
풀이
N개의 수 중에서 3개의 숫자 합이 0인 경우의 수를 찾으면 된다.
N은 최대 10,000으로 완전 탐색을 하면 시간 초과가 발생한다.
N^2 탐색으로 두 수를 고른 후, 이분 탐색으로 나머지 수를 찾으면 된다.
두 수를 0부터 차례대로 완전 탐색을 하기 때문에 이분 탐색의 범위는 ( b + 1 ) ~ ( N - 1 ) 가 된다.
이 때, 두 수 a, b에 대해 c가 1개가 아닐 수 있다.
upper - lower로 동일한 c의 개수를 세주자.
소스코드
보기ttps://www.acmicpc.net/problem/3151
풀이
N개의 수 중에서 3개의 숫자 합이 0인 경우의 수를 찾으면 된다.
N은 최대 10,000으로 완전 탐색을 하면 시간 초과가 발생한다.
N^2 탐색으로 두 수를 고른 후, 이분 탐색으로 나머지 수를 찾으면 된다.
두 수를 0부터 차례대로 완전 탐색을 하기 때문에 이분 탐색의 범위는 ( b + 1 ) ~ ( N - 1 ) 가 된다.
이 때, 두 수 a, b에 대해 c가 1개가 아닐 수 있다.
upper - lower로 동일한 c의 개수를 세주자.
소스코드
728x90
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 11006] 남욱이의 닭장 [Java] (0) | 2025.02.09 |
---|---|
[백준 10886] 0 = not cute / 1 = cute [Java] (0) | 2025.02.09 |
[백준 06118] 숨박꼭질 [Java] (0) | 2025.02.08 |
[백준 01325] 효율적인 해킹 [Java] (0) | 2025.02.08 |
[백준 01477] 휴게소 세우기 [Java] (1) | 2025.02.06 |