๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด/-

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์†Œ์ˆ˜ ๋งŒ๋“ค๊ธฐ

by syLim___ 2023. 10. 4.
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12977

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr


 

nums์˜ ์›์†Œ๋Š” 1๋ถ€ํ„ฐ 1000์‚ฌ์ด์˜ ์ž์—ฐ์ˆ˜์ด๋ฏ€๋กœ, nums์— ์žˆ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์„ธ ์ˆ˜์˜ ํ•ฉ์€ ์ตœ๋Œ€ 3000์ด ๋  ๊ฒƒ์ด๋‹ค.

-> 1๋ถ€ํ„ฐ 3000 ์‚ฌ์ด์˜ ์ˆ˜๋“ค์„ ์ „๋ถ€ ์†Œ์ˆ˜์ธ์ง€ ํŒ๋ณ„ํ•ด๋†“๋Š”๋‹ค (์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ์ด์šฉ)

 

nums์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์„ธ ์›์†Œ์˜ ํ•ฉ์ด ์†Œ์ˆ˜์ธ์ง€ ์ฒดํฌํ•˜์—ฌ ์ •๋‹ต์„ ๊ตฌํ•œ๋‹ค


java

class Solution {
    public int solution(int[] nums) {

        boolean[] primeNumbers = new boolean[3001];
        primeNumbers[0] = false;
        primeNumbers[1] = false;
        for(int i=2; i<3001; i++){
            primeNumbers[i] = true;
        }
        for(int i=2; i*i<3001; i++){
            if (primeNumbers[i]){
                for(int j=i*2; j<3001; j+=i){
                    primeNumbers[j] = false;
                }
            }
        }
        
        int answer = 0;
        for(int i=0; i<nums.length; i++){
            for(int j=i+1; j<nums.length; j++){
                for(int k=j+1; k<nums.length;k++){
                    int sum = nums[i] + nums[j] + nums[k];
                    if(primeNumbers[sum]) answer++;
                }
            }
        }
        return answer;
    }
}
728x90