Algorithms/๋ฐฑ์ค€

[1940๋ฒˆ] ์ฃผ๋ชฝ์˜ ๋ช…๋ น

hyunki.Dev 2023. 9. 21. 10:39

๐Ÿ“Œ ๋ฌธ์ œ

https://www.acmicpc.net/problem/1940

 

1940๋ฒˆ: ์ฃผ๋ชฝ

์ฒซ์งธ ์ค„์—๋Š” ์žฌ๋ฃŒ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 15,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” ๊ฐ‘์˜ท์„ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ ์ˆ˜ M(1 ≤ M ≤ 10,000,000) ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ์…‹์งธ ์ค„์—๋Š” N๊ฐœ์˜ ์žฌ๋ฃŒ๋“ค์ด ๊ฐ€์ง„ ๊ณ 

www.acmicpc.net

 

 

๐Ÿ“Œ ํ’€์ด

  • ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์ด์ค‘ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฌธ์ œ์˜ ๊ฐ€์žฅ ์ฒซ ํ’€์ด ์‹œ์ž‘์€ ์ฃผ์–ด์ง„ N ๊ฐœ์˜ ์ˆซ์ž ๊ฐœ์ˆ˜๊ฐ€ 15,000 ๊ฐœ ์ด๋ฏ€๋กœ ์ •๋ ฌ ํ›„ ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์žˆ๋‹ค ์ž…๋‹ˆ๋‹ค.
  • ์ •๋ ฌ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ์— ์ด์ค‘ ํฌ์ธํ„ฐ๋กœ M(๋‘ ์ˆซ์ž๋ฅผ ํ•ฉํ•ด์„œ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š” ์ˆซ์ž)์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ“Œ ์ฝ”๋“œ 

import java.io.*;
import java.util.*;

class Main {
  public static void main(String[] args) throws IOException {

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    int N = Integer.parseInt(br.readLine());
    int M = Integer.parseInt(br.readLine());
    int[] A = new int[N];

    StringTokenizer st = new StringTokenizer(br.readLine());

    for(int i = 0; i< N; i++){
      A[i] = Integer.parseInt(st.nextToken());
    }

    Arrays.sort(A); // ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ

    int count = 0;
    int i = 0;   //A[0] --> min
    int j = N - 1; //A[N-1] --> max

    while(i < j){

      if(A[i] + A[j] < M) i++;
      else if(A[i] + A[j] > M) j--;
      else{
        count++;
        i++;
        j--;  
      }
      
    }

    System.out.println(count);
    
  }
}

 

'Algorithms > ๋ฐฑ์ค€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[12891๋ฒˆ] DNA ๋น„๋ฐ€๋ฒˆํ˜ธ  (0) 2023.09.21
Java ์—์„œ ์ž…๋ ฅ ๊ฐ’ ๋ฐ›์•„์˜ค๊ธฐ  (0) 2023.06.12