๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/6123)
< O Those Fads >
๋ฌธ์ ํ์ด
๊ฐ ์์ r ๊ฐ์ ์ ๋ ฌํ์ฌ L์ดํ์ธ์ง ํ์ธํ๋ค.
๋ง์ฝ ์ ๋ ฅ๊ฐ์ด ๋ค์๊ณผ ๊ฐ๋ค๋ฉด
5 2 3
2
6
12
5
14
๋จผ์ r ๊ฐ์ ์ ๋ ฌํ๋ค.
2 5 6 12 14
2 <=2 ์ด๋ฏ๋ก 2+3
5 <=5 ์ด๋ฏ๋ก 5+3
6 <=8 ์ด๋ฏ๋ก 8+3
12>11 ์ด๋ฏ๋ก ์ข ๋ฃ.
์ด ์ ํ์ ์ฐธ์ฌํ ์์ ์๋ 3์ด ๋๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class _6123_ { // O Those Fads
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bf.readLine());
int N = Integer.parseInt(st.nextToken());
int L = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
int arr[] = new int[N];
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(bf.readLine());
}
Arrays.sort(arr);
int result = 0;
int cnt = 0;
for (int i = 0; i < N; i++) {
if (i != 0 && arr[i] != arr[i - 1]) {
result += cnt;
L += (K * cnt);
cnt = 0;
}
if (arr[i] <= L) {
cnt += 1;
}
}
result += cnt;
System.out.println(result);
}
}
๋ณ์)
N, L, K : ์์ ์, ๋งค๋ ฅ๋, ์ฆ๊ฐ ๊ฐ
arr : ์์ r ๊ฐ
result : ์ ํ์ ์ฐธ์ฌํ ์์ ์
cnt : r ๊ฐ์ด ๊ฐ์ ์์ ์
์์ ์ N, ๋งค๋ ฅ๋ L, ์ฆ๊ฐ ๊ฐ K๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. N๋งํผ ์์ r ๊ฐ์ ์ ๋ ฅ๋ฐ์ arr์ ์ ์ฅํ ํ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค. arr์ ์์ฐจํ์ํ๋ฉฐ ๋ค์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
1) ์์ ๊ฐ๊ณผ ๊ฐ์ ๊ฐ์ด๋ผ๋ฉด result๋ฅผ cnt๋งํผ, ๋งค๋ ฅ๋๋ฅผ (K*cnt)๋งํผ ์ฆ๊ฐํ ํ cnt๋ฅผ ์ด๊ธฐํํ๋ค.
2) arr [i] ๊ฐ์ด ๋งค๋ ฅ๋ ์ดํ๋ผ๋ฉด cnt+1
์ต์ข result ๊ฐ์ ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 6566_์ ๋๊ทธ๋จ ๊ทธ๋ฃน (0) | 2025.03.25 |
---|---|
[Baekjoon] 11597_Excellence (0) | 2025.03.24 |
[Baekjoon] 12596_Odd Man Out (Large) (0) | 2025.03.20 |
[Baekjoon] 26975_Cow College (0) | 2025.03.18 |
[Baekjoon] 19709_LunchBox (0) | 2025.03.14 |