Algorithm

๋ฐฑ์ค€ ์ž๋ฐ” 1978 ์†Œ์ˆ˜ ํŒ๋ณ„

hyunjun's developing ๐Ÿฃ 2024. 1. 3. 20:27

https://www.acmicpc.net/problem/1978

 

1978๋ฒˆ: ์†Œ์ˆ˜ ์ฐพ๊ธฐ

์ฒซ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 100์ดํ•˜์ด๋‹ค. ๋‹ค์Œ์œผ๋กœ N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ ์ˆ˜๋Š” 1,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค.

www.acmicpc.net

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.*;
 
public class Main {
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        int num = input.nextInt();
        int M;
        int cnt=0;
        for(int i=0; i<num; i++){
            M = input.nextInt();
            for(int p=2; p<=M; p++){
                if(p == M){
                    cnt++;
                }
                if(M % p == 0){
                    break;
                }
            }
        }
        System.out.println(cnt);
    }
}
 
cs

๋จผ์ € num๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์„ ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ›๋Š”๋‹ค. ๊ทธ ๋‹ค์Œ M์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด์ฃผ๋Š”๋ฐ ์ด๋ณ€์ˆ˜๋Š” ์‚ฌ์šฉ์ž๋กœ ๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฐ›์„ (์†Œ์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋‹จ์„ ํ• ) ๋ณ€์ˆ˜์ด๋‹ค. ๊ทธ ๋‹ค์Œ ์†Œ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜ cnt๋ฅผ ์„ ์–ธํ•ด์ค€๋‹ค .์šฐ๋ฆฌ๋Š” nt๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋จผ์ € num๋งŒํผ์˜ ๋ฐ”๊นฅ for๋ฌธ์„ ์‹คํ–‰ ์‹œ์ผœ num๋งŒํผ ์ฆ‰ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’๋งŒํผ ์ˆซ์ž๋ฅผ ๋ฐ›์•„์˜จ๋‹ค๊ทธ ๋‹ค์Œ ์•ˆ์ชฝ for๋ฌธ์œผ๋กœ ๋„˜์–ด๊ฐ€์„œ ์†Œ์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ํŒ๋ณ„ํ•ด์ค€๋‹ค. p๋Š” 2๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ m๋งŒํผ ์‹คํ–‰ํ•œ๋‹ค. ๋งŒ์•ฝ p์™€ m์ด ๊ฐ€๋‹ค๋ฉด (์ฆ‰ ์†Œ์ˆ˜๋ผ๋ฉด) cnt๋ฅผ ์ฆ๊ฐ€์‹œ์ผœ์ฃผ๊ณ  ์•„๋‹Œ ๊ฒฝ์šฐ๋Š” ๋ฐ‘์— if๋ฌธ์œผ๋กœ ๋„˜์–ด๊ฐ€์„œ m์ด p๋กœ ๋‚˜๋ˆ„์–ด์ง€๋ฉด ์•ˆ์ชฝ for๋ฌธ์„ ๋น ์ ธ๋‚˜์™€์„œ ๋ฐ”๊นฅ for ๋ฌธ์œผ๋กœ ์ด๋™์„ ํ•ด ๋‹ค์‹œ ์‚ฌ์šฉ์žํ•œํ…Œ m์„ ์ž…๋ ฅ ๋ฐ›์•„ ํŒ๋ณ„์„ ํ•˜๋Š” ์‹์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŒ๋ณ„ ์ž‘์—…์„ ๋งˆ์นœ๋’ค cnt๋ฅผ ์ถœ๋ ฅ์„ ํ•ด ์†Œ์ˆ˜์˜ ๊ฐฏ์ˆ˜๋ฅผ ์ถœ๋ ฅ์„ ํ•œ๋‹ค.