๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/21919)
< ์์ ์ต์ ๊ณต๋ฐฐ์ >
๋ฌธ์ ํ์ด
์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ฅผ ํ์ฉํ์ฌ ๋จผ์ ์์๋ฅผ ๊ตฌํ๋ค. ์์ด A๋ฅผ ์ ๋ ฅ๋ฐ์ผ๋ฉด์ ์์๋ค์ ์ต์๊ณต๋ฐฐ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด ์ค๋ณต๋์ง ์์ ์์ ๊ฐ์ ๊ณฑํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;
public class _21919_ { // ์์ ์ต์ ๊ณต๋ฐฐ์
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int n = Integer.parseInt(bf.readLine());
boolean arr[] = new boolean[1000001];
arr[0] = true;
arr[1] = true;
for (int i = 2; i < 500001; i++) {
if (!arr[i]) {
for (int j = i + i; j < 1000001; j += i) {
arr[j] = true;
}
}
}
Set<Integer> set = new HashSet<>();
st = new StringTokenizer(bf.readLine());
for (int i = 0; i < n; i++) {
int num = Integer.parseInt(st.nextToken());
if (!arr[num]) {
set.add(num);
}
}
if (set.size() == 0)
System.out.println(-1);
else {
long result = 1;
for (int num : set) {
result *= num;
}
System.out.println(result);
}
}
}
๋ณ์)
n : ์์ด์ ๊ธธ์ด
arr : ์์
set : ์์ด A ๊ฐ ์ค ์์
result : ์์๋ค์ ์ต์๊ณต๋ฐฐ์
์์ด A์ ๊ธธ์ด n์ ์ ๋ ฅ๋ฐ๋๋ค. ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ฅผ ํ์ฉํ์ฌ ์์๋ฅผ ๋ฏธ๋ฆฌ ๊ตฌํ๋ค. ์์ด A์ ๊ฐ์ ์ ๋ ฅ๋ฐ์ผ๋ฉด์ ์์์ธ ๊ฐ์ set์ ์ ์ฅํ๋ค. ์ฌ๊ธฐ์ set์ ์ฌ์ฉํ๋ ์ด์ ๋ ์ค๋ณต์ฒ๋ฆฌ๋ฅผ ์ํด์๋ค. set์ ํฌ๊ธฐ๊ฐ 0์ด๋ผ๋ฉด ์์๊ฐ ์๋ ๊ฒฝ์ฐ์ด๋ฏ๋ก -1์ ์ถ๋ ฅํ๊ณ set์ ํฌ๊ธฐ๊ฐ 0์ด ์๋๋ฉด set์ ์๋ ๊ฐ์ ๋ค ๊ณฑํ ๊ฐ์ ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 28471_Wํค๊ฐ ๋น ์ง ์ฑ์์ด (0) | 2024.04.09 |
---|---|
[Baekjoon] 1347_๋ฏธ๋ก ๋ง๋ค๊ธฐ (0) | 2024.04.05 |
[Baekjoon] 1835_์นด๋ (0) | 2024.04.03 |
[Baekjoon] 1531_ํฌ๋ช (0) | 2024.04.02 |
[Baekjoon] 14232_๋ณด์ ๋๋ (1) | 2024.04.01 |