๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/6219)
< ์์์ ์๊ฒฉ >
๋ฌธ์ ํ์ด
์๋ผํ ์คํ ๋ค์ค์ ์ฒด ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ B๊น์ง์ ์์๋ฅผ ๋ฏธ๋ฆฌ ๊ตฌํ๋ค. A์ด์ B์ดํ์ ์์ ์ค์์ ์ซ์ D๋ฅผ ํฌํจํ๋ ์์์ ๊ฐ์๋ฅผ ๊ตฌํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class _6219_ { // ์์์ ์๊ฒฉ
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bf.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int d = Integer.parseInt(st.nextToken());
boolean arr[] = new boolean[b + 1];
arr[0] = true;
arr[1] = true;
for (int i = 2; i < ((b + 1) / 2) + 1; i++) {
if (!arr[i]) {
for (int j = i + i; j < b + 1; j += i) {
arr[j] = true;
}
}
}
int result = 0;
String find=Integer.toString(d);
for (int i = a; i <= b; i++) {
if (!arr[i]) {
String str = Integer.toString(i);
if(str.contains(find)) {
result+=1;
}
}
}
System.out.println(result);
}
}
๋ณ์)
a, b, d : ๋ฒ์ A, B, ์ซ์ D
arr : ์์ ํ๋จ
result : ์ฃผ์ด์ง ๋ฒ์ ๋ด์์ ์ซ์ D๋ฅผ ํฌํจํ๋ ์์์ ๊ฐ์
find : ์ซ์ D -> ๋ฌธ์์ด D
๋ฒ์ A, B์ ์ซ์ D๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ์๋ผํ ์คํ ๋ค์ค์ ์ฒด ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ 0๋ถํฐ B๊น์ง ์์๋ฅผ ๋ฏธ๋ฆฌ ๊ตฌํ๋ค. contains ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ์ซ์ D๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊พผ๋ค. A์ด์ B์ดํ ๊ฐ ์ค์์ ์์์ธ ๊ฒ์ ํ๋จํด ์์๋ผ๋ฉด ๊ฐ์ String์ผ๋ก ๋ฐ๊พผ ํ contains ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ D๋ฅผ ํฌํจํ๋์ง ํ์ธํ๋ค. ํฌํจํ๋ฉด result๋ฅผ 1 ์ฆ๊ฐ์ํจ๋ค. ์ต์ข ์ฃผ์ด์ง ๋ฒ์ ๋ด์์ ์ซ์ D๋ฅผ ํฌํจํ๋ ์์์ ๊ฐ์ result๋ฅผ ์ถ๋ ฅํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 27172_์ ๋๋๊ธฐ ๊ฒ์ (0) | 2024.03.25 |
---|---|
[Baekjoon] 10434_ํ๋ณตํ ์์ (1) | 2024.03.22 |
[Baekjoon] 8896_๊ฐ์ ๋ฐ์ ๋ณด (0) | 2024.03.20 |
[Baekjoon] 1083_์ํธ (0) | 2024.03.19 |
[Baekjoon] 12931_๋ ๋ฐฐ ๋ํ๊ธฐ (0) | 2024.03.18 |