๋ฐ์ํ
https://www.acmicpc.net/problem/1940
์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(bf.readLine());
int M = Integer.parseInt(bf.readLine());
int[] arr = new int[N];
StringTokenizer st = new StringTokenizer(bf.readLine());
for(int i=0; i<arr.length; i++)
arr[i] = Integer.parseInt(st.nextToken());
int count = 0;
for(int i=0; i<arr.length-1; i++) {
for(int j=i+1; j<arr.length; j++) {
if(arr[i] + arr[j] == M) {
count ++;
break;
}
}
}
System.out.println(count);
bf.close();
}
}
ํ์ด
์๊ฐ ์ ํ์ด 2์ด์ N์ ๋ฒ์๊ฐ 15,000 ์ด์ด์ O(N^2) ์์ ํ์์ผ๋ก ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํด์ ํด๊ฒฐํ๋ค.
for๋ฌธ์ ๋ฒ์๋ง ์ ๊ฒฝ์จ์ฃผ๊ณ , ๋ชจ๋ ๋ฐฐ์ด ๊ฐ๋ค์ ํ์ธํ๋ฉด์ ๋ ๊ฐ์ ์ฌ๋ฃ ๊ณ ์ ๋ฒํธ ํฉ์ด M์ผ ๊ฒฝ์ฐ count ++ ํด์ค๋ค.
๋ค๋ฅธ ํ์ด
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
int M = Integer.parseInt(br.readLine());
int[] arr = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i=0; i<N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr);
int i=0, j=arr.length-1;
int cnt = 0;
while(i < j) {
if(arr[i] + arr[j] == M) {
i++;
j--;
cnt++;
}
else {
if(arr[i] + arr[j] > M) {
j--;
}
else {
i++;
}
}
}
bw.write(String.valueOf(cnt));
br.close();
bw.close();
}
}
์ ๋ ฌ์ ํ๊ณ , ๊ฐ์ฅ ์์ ๊ฐ๊ณผ ๊ฐ์ฅ ํฐ ๊ฐ์ ํฉ์ ๊ตฌํด์ M๊ณผ ๋น๊ต๋ฅผ ํ๋ฉฐ ํด๊ฒฐํ ์๋ ์๋ค.
๋ ๊ฐ์ ํฉ์ด M๊ณผ ๊ฐ์ผ๋ฉด i ๊ฐ์ ์ฆ๊ฐ , j ๊ฐ์ ๊ฐ์(์ด๋ถ ํ์์ ๋๋)์ํค๊ณ ,
๋ ๊ฐ์ ํฉ์ด M๋ณด๋ค ํด๊ฒฝ์ฐ -> ํฉ์ ์ค์ฌ์ผ ํ๋ฏ๋ก ํฐ๊ฐ์ ๊ฐ์(j--)
๋ ๊ฐ์ ํฉ์ด M๋ณด๋ค ์์๊ฒฝ์ฐ -> ํฉ์ ์ฆ๊ฐ์์ผ์ผ ํ๋ฏ๋ก ์์๊ฐ์ ์ฆ๊ฐ(i++) ์ํจ๋ค.
๋ฐ์ํ
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 5618๋ฒ: ๊ณต์ฝ์(์ํ) (0) | 2020.04.26 |
---|---|
[๋ฐฑ์ค] 1302๋ฒ: ๋ฒ ์คํธ์ ๋ฌ(์ ๋ ฌ, ํ์) (0) | 2020.04.24 |
[๋ฐฑ์ค] 9012๋ฒ: ๊ดํธ(์คํ) (0) | 2020.04.19 |
[๋ฐฑ์ค] 17608๋ฒ: ๋ง๋๊ธฐ(๊ตฌํ) (0) | 2020.04.10 |
[๋ฐฑ์ค] 5533๋ฒ: ์ ๋ํฌ(๊ตฌํ) (0) | 2020.04.10 |
๋๊ธ