algorithm/백준
[백준] 코스튬 파티 - 6159 Java[자바]
달마루
2023. 1. 28. 19:51
[Silver V] 코스튬 파티 - 6159
6159번: 코스튬 파티
한 농부가 할로윈 파티에 그의 소들을 데려가려고한다. 아쉽게도 농부에게는 코스튬이 한벌밖에 없다. 그 코스튬에는 정확하게 사이즈는 S(1 <= S <= 1,000,000)이며, 최대 소 두마리가 들어간다. 농
www.acmicpc.net
성능 요약
메모리: 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);
}
}