Deep_Dev
article thumbnail

๋ฌธ์ œ ์„ค๋ช…

1๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž n ์‚ฌ์ด์— ์žˆ๋Š” ์†Œ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”. 

์†Œ์ˆ˜๋Š” 1๊ณผ ์ž๊ธฐ ์ž์‹ ์œผ๋กœ๋งŒ ๋‚˜๋ˆ„์–ด์ง€๋Š” ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
(1์€ ์†Œ์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.)

 

 

์ œํ•œ ์กฐ๊ฑด
  • n์€ 2์ด์ƒ 1000000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
์ž…์ถœ๋ ฅ ์˜ˆ

 

10 4
5 3

 

 

 


์ „์— ๋ฐฐ์› ๋˜ '์—๋ผํ† ์Šคํ…Œ๋„ค์Šค ์ฒด'๋ฅผ ์ด์šฉํ–ˆ๋‹ค.

๋ฐฐ์—ด arr๋ฅผ ๋™์ ํ• ๋‹น( ๋ฐฐ์—ด์—” ํ˜„์žฌ ๊ฐ’์ด 0์œผ๋กœ ์ดˆ๊ธฐํ™” )

์ฒซ ์†Œ์ˆ˜์ธ 2๋ถ€ํ„ฐ ๋ฐ˜๋ณต๋ฌธ ์‹œ์ž‘ํ•ด์„œ, ์ธ๋ฑ์Šค ๊ฐ’์ด 0์ด๋ฉด ์†Œ์ˆ˜ count

๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹นํ•˜๋Š” ์†Œ์ˆ˜์˜ ๋ฐฐ์ˆ˜๋“ค์˜ ์ธ๋ฑ์Šค ๊ฐ’์„ 1๋กœ ๋ณ€๊ฒฝ( ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ์ดํ›„์— arr[i]==0์ด ์•„๋‹ˆ๋‹ˆ no count )

 

* ์ฒ˜์Œ์— ์ƒ๊ฐ์„ ์ด์ƒํ•˜๊ฒŒํ•ด์„œ .. int[] arr=new int[n]; ์ด๋ ‡๊ฒŒ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ–ˆ๋”๋‹ˆ

index๊ฐ€ 0๋ถ€ํ„ฐ ์‹œ์ž‘์ด๋‹ˆ ์ €๋ ‡๊ฒŒํ•˜๋ฉด n-1 ์ˆ˜ ๊นŒ์ง€๋งŒ ํŒ๋ณ„ํ•ด์„œ n์„ ํŒ๋ณ„๋ชปํ•จ

๊ทธ๋ž˜์„œ n+1...


 

 

import java.util.*;

class Solution {
    public int solution(int n){
        int answer=0;
        int[] arr=new int[n+1];
        for(int i=2; i<=n; i++){
            if(arr[i]==0){
                answer++;
                for(int j=i; j<=n; j=j+i)
                    arr[j]=1;
            }
        }
        return answer;
    }
}