Korean English Japanese Chinese (Simplified) Chinese (Traditional)

 

 

 

 

 

1940번: 주몽

첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고

www.acmicpc.net

 

 

 

 

난이도: 실버 4

풀이: 투 포인터 알고리즘을 적용하는데, 이번에는 시작 지점에서는 포인터를 배열의 시작점과 끝점에 위치하여 차례로 포인터 간의 위치를 줄여가는 알고리즘을 이용하면 보다 편하게 문제를 해결할 수 있다.

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import java.util.*;
import java.io.*;
 
public class P1940 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        StringTokenizer st = new StringTokenizer(br.readLine());
        int N        = Integer.parseInt(st.nextToken());
        st             = new StringTokenizer(br.readLine());
        int M        = Integer.parseInt(st.nextToken());
        int A[]    = new int[N];
        
        st             = new StringTokenizer(br.readLine());
        for (int i = 0; i < N; i ++) {
            A[i]    = Integer.parseInt(st.nextToken());
        }
        
        Arrays.sort(A);
        
        int i            = 0;
        int j            = N-1;
        int count    = 0;
        
        while (i < j) {
            if (A[i] + A[j] == M) {
                count ++;
                j --;
                i ++;
            } else if (A[i] + A[j] < M) {
                i ++;
            } else if (A[i] + A[j] > M) {
                j --;
            }
        }
        
        System.out.println(count);
    }
}
cs
 

If you like this post, please give me a ❤️...!
 
✰Popular Posts✰
✰Recent Posts✰
 

❤ from Seoul, Daejeon, Tokyo, Fukuoka