๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/27041)
< Leapcow >
๋ฌธ์ ํ์ด
ํ ๋ฒ์ ์ ํํ ์ ์๋ ์์น๋ฅผ ์ดํด๋ณด๊ณ ์ต์ ์ ํ ํ์๋ก ๊ฐ์ ์ ๋ฐ์ดํธํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class _27041_ { // Leapcow
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bf.readLine());
int e = Integer.parseInt(st.nextToken());
int l = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int arr[] = new int[e + 1];
for (int i = 1; i < e + 1; i++) {
arr[i] = Integer.MAX_VALUE;
}
for (int i = 0; i < b; i++) {
int num = Integer.parseInt(bf.readLine());
arr[num] = -1;
}
for (int i = 1; i < e + 1; i++) {
for (int j = 1; j <= l; j++) {
if (i - j >= 0 && arr[i - j] >= 0) {
arr[i] = Math.min(arr[i - j] + 1, arr[i]);
}
}
}
System.out.println(arr[e]);
}
}
๋ณ์)
e, l, b : ๋ชฉํ ์ง์ , ํ ๋ฒ์ ์ ํํ ์ ์๋ ์ต๋ ๊ฑฐ๋ฆฌ, ๋ฌปํ ์๋ ์์ ๊ฐ์
arr : ๊ฐ ์ขํ
๋ชฉํ ์ง์ , ํ ๋ฒ์ ์ ํํ ์ ์๋ ์ต๋ ๊ฑฐ๋ฆฌ, ๋ฌปํ ์๋ ์์ ๊ฐ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ๊ฐ ์ขํ๋ฅผ ์ต๋๊ฐ์ผ๋ก ์ด๊ธฐํํ๋ค. ๋ฌปํ ์๋ ์์ ๊ฐ์๋งํผ ์์ ์ขํ๋ฅผ ์ ๋ ฅ๋ฐ์ ๊ทธ ์ขํ์ -1์ ์ ์ฅํ๋ค. ์ขํ๋ฅผ ์์๋ถํฐ ๋๊น์ง ํ์ํ๋ฉฐ ์ ํํ ์ ์๋ ๊ฑฐ๋ฆฌ๋งํผ ์ด์ ์ขํ๋ฅผ ์ดํด๋ณด๋ฉฐ ์ต์ ์ ํ ํ์๋ก ์ ๋ฐ์ดํธํ๋ค.
์ต์ข arr[e] ๊ฐ์ ์ถ๋ ฅํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Baekjoon] 26934_The Bus Card (0) | 2026.04.09 |
|---|---|
| [Baekjoon] 14767_Flow Shop (0) | 2026.04.06 |
| [Baekjoon] 6245_Cow Solitaire (0) | 2026.04.03 |
| [Baekjoon] 9844_Gecko (0) | 2026.04.02 |
| [Baekjoon] 30337_Linas ir mandarinai (0) | 2026.04.01 |