Live Today
[백준] 1253. 좋다 (Java) 본문
반응형
https://www.acmicpc.net/problem/1253
1253번: 좋다
첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수)
www.acmicpc.net
- 선형 시간으로 알고리즘을 풀 수 있게 만들어 줌
- 연속적인 값들을 이용해 푸는 문제에 적합
- 정렬 후 풀이
✅ 정답 풀이
package algo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main_bj_1253_좋다 {
static int N,result;
static int[] arr;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
N = Integer.parseInt(br.readLine());
arr = new int[N];
st = new StringTokenizer(br.readLine());
for(int i=0;i<N;i++) {
arr[i] = Integer.parseInt(st.nextToken());
} // input end
Arrays.sort(arr);
for(int i=0;i<N;i++) {
int left = 0;
int right = N-1;
while(true) {
if(left == i) left++;
else if(right == i) right--;
if(left >= right) break;
if(arr[left] + arr[right] > arr[i]) right--;
else if(arr[left] + arr[right] < arr[i]) left++;
else {
result++;
break;
}
}
}
System.out.println(result);
}
}
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
[백준] 2902. KMP는 왜 KMP일까? (Java) (0) | 2023.02.12 |
---|---|
[백준] 1445. 일요일 아침의 데이트 (Java) (0) | 2023.02.05 |
[백준] 2493. 탑 (Java) (0) | 2023.02.04 |
[백준] 12919. A와B 2 (Java) (0) | 2023.02.04 |
[백준]17837. 새로운 게임2 (Java) (0) | 2023.01.24 |