728x90
320x100
1940번: 주몽
첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고
www.acmicpc.net
📌 투포인터 사용
- 배열을 정렬한 후 i = 0, j = N-1로 시작하여 합을 구했다.
- 합이 M과 같다면 카운팅을 해주고, i ++, j--로 더 구한다.
- 합이 M보다 작다면 i++를 해준다.
- 합이 M보다 크다면 j--를 해준다.
✅ PASS CODE
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
public static void main(String [] args) throws IOException {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int M = sc.nextInt();
int []arr = new int[N];
for(int i=0; i<N; i++){
arr[i] = sc.nextInt();
}
int cnt = 0;
Arrays.sort(arr);
int i=0, j=N-1;
while(i<j){
if(arr[i] + arr[j] == M){
cnt++;
i++; j--;
}
else if(arr[i] + arr[j] <M){
i++;
}
else{
j--;
}
}
System.out.println(cnt);
}
}
728x90
반응형
'Coding Test > Baekjoon' 카테고리의 다른 글
[JAVA][Baekjoon] 11003번 최솟값 찾기 ⭐️⭐️⭐️⭐️ (0) | 2024.05.02 |
---|---|
[JAVA][Baekjoon] 12891번 DNA 비밀번호 🌟🌟🌟🌟🌟 (1) | 2024.03.23 |
[JAVA][Baekjoon] 2018번 수들의 합 5 🌟 (0) | 2024.03.23 |
[JAVA][Baekjoon] 10986번 나머지 합 ⭐️⭐️⭐️⭐️⭐️ (4) | 2024.03.12 |
[JAVA][Baekjoon] 11660번 구간 합 구하기 5 (1) | 2024.03.11 |