https://www.acmicpc.net/problem/1773
์ฝ๋
import java.util.Scanner;
public class Main {
public static int solve(int N, int C, int[] arr) {
int count = 0;
for(int i=1; i<=C; i++) {
for(int j=0; j<arr.length; j++) {
if(i%arr[j] == 0) {
count ++;
break;
}
}
}
return count;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int C = scan.nextInt();
int[] arr = new int[N];
for(int i=0; i<N; i++)
arr[i] = scan.nextInt();
int count = solve(N, C, arr);
System.out.println(count);
scan.close();
}
}
ํ์ด
์ ํ์๊ฐ์ 2์ด, N์ ๋ฒ์๋ 10,000 , C์ ๋ฒ์๋ 2,000,000 ์ด๋ฏ๋ก ์์ ํ์์ ํด๋ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
๋ฐ๋ผ์ ํญ์ฃฝ์ผ๊ฐ ๋๋๋ ์๊ฐ(C) ๊น์ง ์์ ํ์์ ํตํด, ๊ฐ๊ฐ์ ์ด์ ํ์๋ค์ด ํญ์ฃฝ์ ํฐ๋จ๋ฆฌ๋ ์๊ธฐ๊ฐ ์กด์ฌํ ๊ฒฝ์ฐ
count ๊ฐ์ 1์ฉ ์ฆ๊ฐ์์ผ์ค๋ค.
ํญ์ฃฝ์ด ๋์์ ํฐ์ง๋ ๊ฒฝ์ฐ ํ๋ฒ๋ง ์ธ์๋ ค์ผ ํ๋ฏ๋ก, C๊น์ง ์์ ํ์์ ํ๋ฉด์ arr๋ฐฐ์ด(ํ์๋ค์ ํญ์ฃฝ ์ฃผ๊ธฐ)์
ํญ์ฃฝ์ด ํฐ์ง๋ ์ฃผ๊ธฐ๊ฐ ์์๊ฒฝ์ฐ break๋ฅผ ํตํด ๋ค์ ์ด๋ฅผ ํ์ํ๋ค.
๋ค๋ฅธ ํ์ด
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
String str[] = s.split(" ");
int n = Integer.parseInt(str[0]);
int c = Integer.parseInt(str[1]);
int crr[] = new int[c+1];
int x=0;
for(int i=0;i<n;i++){
x = Integer.parseInt(br.readLine());
for(int j=x; j<crr.length;j+=x){
crr[j] = 1;
}
}
int cnt = 0;
for(int i=0;i<crr.length;i++){
if(crr[i]==1){
cnt+=1;
}
}
System.out.println(cnt);
}
}
์๊ฐ์ด ๋๋ต 1/3์ ๋ ๋จ์ถ๋ ์ฝ๋๋ค.
ํญ์ฃฝ ์ฃผ๊ธฐ์ ๋ฐฐ์๋ฅผ ๋ชจ๋ 1๋ก ๋ง๋ค๊ณ ,
ํญ์ฃฝ์ด ๋๋๋ ์๊ฐ๊น์ง ๋ฐฐ์ด ๊ฐ์ด 1์ธ๊ฒฝ์ฐ cnt๋ฅผ 1์ฉ ์ฆ๊ฐ์ํค๋ ์ฝ๋.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2455๋ฒ: ์ง๋ฅํ ๊ธฐ์ฐจ (0) | 2020.05.12 |
---|---|
[๋ฐฑ์ค] 1547๋ฒ: ๊ณต (0) | 2020.05.12 |
[๋ฐฑ์ค] 5612๋ฒ: ํฐ๋์ ์ ๊ตฌ์ ์ถ๊ตฌ (0) | 2020.05.01 |
[๋ฐฑ์ค] 11718๋ฒ: ๊ทธ๋๋ก ์ถ๋ ฅํ๊ธฐ (0) | 2020.05.01 |
[๋ฐฑ์ค] 5618๋ฒ: ๊ณต์ฝ์(์ํ) (0) | 2020.04.26 |
๋๊ธ