[Silver V] 코스튬 파티 - 6159
성능 요약
메모리: 17980 KB, 시간: 304 ms
분류
브루트포스 알고리즘(bruteforcing), 정렬(sorting), 두 포인터(two_pointer)
문제 설명
한 농부가 할로윈 파티에 그의 소들을 데려가려고한다. 아쉽게도 농부에게는 코스튬이 한벌밖에 없다. 그 코스튬에는 정확하게 사이즈는 S(1 <= S <= 1,000,000)이며, 최대 소 두마리가 들어간다. 농부는 N(2 <= N <= 20,000)마리의 소가 있으며(소의 이름은 편의상 소1.. 소N으로한다), 소i의 사이즈는 (1 <= L_i <= 1,000,000)이다. 만약 소 두마리의 크기 합이 코스튬의 크기 이하인 경우 둘이 코스튬에 들어갈 수 있다. 농부가 코스튬에 얼마나 많은 서로 다른 소의 짝이 들어가는지 구할수있도록 도와주자.
입력
첫째 줄에는 정수 N(소의 수)과 S(코스튬의 크기)가 주어진다.
둘째 줄부터는 각 줄에 소들의 크기가 주어진다.
출력
첫째 줄에 얼마나 많은 짝이 가능한지 출력한다.
답 : 배열에 넣어준 뒤, 서로 다른 소들을 하나씩 비교하고
코스튬 사이즈보다 작을 경우의 수를 카운트하여 출력한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int s = Integer.parseInt(st.nextToken());
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(arr);
int answer = 0;
for (int i = 0; i<n-1; i++) {
for(int j = i+1; j<n; j++) {
if(arr[i] + arr[j] <= s) {
answer++;
} else { break; }
}
}
System.out.println(answer);
}
}
'algorithm > 백준' 카테고리의 다른 글
[백준] 저항 - 1076 Java[자바] (1) | 2023.01.31 |
---|---|
[백준] 영수증 - 5565 Java[자바] (0) | 2023.01.29 |
[백준] 알파벳 개수 - 10808 Java[자바] (0) | 2023.01.27 |
[백준] 홀수 - 2576 Java[자바] (0) | 2023.01.26 |
[백준] 계산기 프로그램 - 5613 Java[자바] (0) | 2023.01.25 |