https://programmers.co.kr/learn/courses/30/lessons/12922

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜? | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

๊ธธ์ด๊ฐ€ n์ด๊ณ , ์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜....์™€ ๊ฐ™์€ ํŒจํ„ด์„ ์œ ์ง€ํ•˜๋Š” ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ๋“ค์–ด n์ด 4์ด๋ฉด ์ˆ˜๋ฐ•์ˆ˜๋ฐ•์„ ๋ฆฌํ„ดํ•˜๊ณ  3์ด๋ผ๋ฉด ์ˆ˜๋ฐ•์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์กฐ๊ฑด n์€ ๊ธธ์ด 10,000์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ n return 3 ์ˆ˜๋ฐ•์ˆ˜ 4 ์ˆ˜๋ฐ•์ˆ˜๋ฐ•

programmers.co.kr

< ์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜๋ฐ•์ˆ˜? >

 

 

 

โ—‹  ์ฒ˜์Œ ํ‘ผ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//String ๋‘๊ฐœ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค
//if๋ฌธelse ๋ฌธ์— ๋”ฐ๋ผ์„œ ๋”ํ•˜๊ณ  
class Solution {
  public String solution(int n) {
      String answer = "";
      String a = "์ˆ˜";
      String b = "๋ฐ•";
      
      for(int i=0; i < n; i++){
          if(i%2==0)
            answer += a;
          else if(i%2!=0)
            answer +=b;
      }
      
      return answer;
  }
}
cs

 

- for๋ฌธ์œผ๋กœ 0 ~ n ๊นŒ์ง€ ๋Œ๋ฆฐ๋‹ค.

-"์ˆ˜"๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜ a ์™€ "๋ฐ•"์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜ b๋ฅผ ์„ ์–ธํ•œ๋‹ค.

- 0 ~ n ๊นŒ์ง€ ๋Œ๋ฆฌ๋ฉด์„œ ์ง์ˆ˜์ผ ๋•Œ๋Š” ๋ณ€์ˆ˜ a๋ฅผ answer์— ๋”ํ•˜๊ณ  ํ™€์ˆ˜์ผ ๋•Œ๋Š” ๋ณ€์ˆ˜ b๋ฅผ  answer์— ๋” ํ•ด์ค€๋‹ค

- if ๋ฌธ์€ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ํ•˜๋ฉด ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โ—‹  ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ํ‘ผ ํ’€์ด

 

1
2
3
4
5
6
7
8
9
10
class Solution {
  public String solution(int n) {
      String answer = "";
    
      for(int i=0; i < n; i++)
        answer += (i % 2 ==0 ) ? "์ˆ˜" : "๋ฐ•";
   
      return answer;
  }
}
cs

- ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ํ’€๋ฉด ๋”ฐ๋กœ ๋ณ€์ˆ˜ ์„ ์–ธ๋ฅผ ์„ ์–ธํ•  ํ•„์š”์—†์ด ์œ„์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ  ๋ฐ”๋กœ  ๋Œ€์ž… ํ• ์ˆ˜ ์žˆ๋‹ค.

 

 

์„ ์–ธ ์œ„์น˜์— ๋”ฐ๋ฅธ ๋ณ€์ˆ˜์˜ ์ข…๋ฅ˜ - ์ง€์—ญ๋ณ€์ˆ˜ , ์ „์—ญ ๋ณ€์ˆ˜

โ—‹ ์ง€์—ญ๋ณ€์ˆ˜ ( Local variable )

-  ๋ฉ”์†Œ๋“œ ์•ˆ์— ์ƒ์„ฑ ๋˜๊ณ  ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์‹œ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ”๋‹ค๊ฐ€ ๋ฉ”์†Œ๋“œ๊ฐ€ ๋๋‚  ๋•Œ ์†Œ๋ฉธ ๋˜๋Š” ๋ณ€์ˆ˜.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class var{
 
    public static void main(String[] args){
 
        //์ง€์—ญ ๋ณ€์ˆ˜ n 
        int n;        
        //-- ์„ ์–ธํ›„ ์ดˆ๊ธฐํ™” ๊ณผ์ •์„ ๊ฑฐ์น˜์ง€ ์•Š์€ ์ƒํƒœ
 
        System.out.println("n" + n);
        //--> ์—๋Ÿฌ ๋ฐœ์ƒ (์ปดํŒŒ์ผ ์—๋Ÿฌ)
        //    error: variable n might not have been initialized
        //--- ์ง€์—ญ ๋ณ€์ˆ˜ n ์— ์ ‘๊ทผํ•˜์—ฌ ๊ทธ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•˜๋Š” ๊ตฌ๋ฌธ
 
    }
cs

๋ฌธ์žฅ 9 ) ์ง€์—ญ ๋ณ€์ˆ˜๋Š” ์ดˆ๊ธฐํ™” ๊ณผ์ •์„ ๊ฑฐ์น˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ ํ•  ์ˆ˜ ์—†๋‹ค.

 

โ—‹ ์ „์—ญ๋ณ€์ˆ˜ ( Global variable)

- ์ „์—ญ ๋ณ€์ˆ˜๋Š” ํด๋ž˜์Šค ์ฒซ๋ถ€๋ถ„์— ์ž‘์„ฑ ๋œ ๋ณ€์ˆ˜๋กœ ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜์™€ ํด๋ž˜์Šค ๋ณ€์ˆ˜(static ๋ณ€์ˆ˜)๋กœ ๋‚˜๋ˆ ์ง€๊ฒŒ ๋œ๋‹ค.

    1. ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ (instance)

       : ํด๋ž˜์Šค ์˜์—ญ์—์„œ ์„ ์–ธ๋˜๋ฉฐ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ ๋  ๋•Œ ๋งˆ๋‹ค ๋งŒ๋“ค์–ด์ง€๊ณ  ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์„ ๋•Œ๋งŒ ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉ  ํ•   ์ˆ˜ ์žˆ๋‹ค.

    2.ํด๋ž˜์Šค ๋ณ€์ˆ˜ ( static )

       : ํด๋ž˜์Šค ๋ณ€์ˆ˜๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•„๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ•˜๋‹ค.

 - ํด๋ž˜์Šค ๋ณ€์ˆ˜ vs ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜

      : ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋Š” ๊ฐ์ฒด ์ƒ์„ฑ์ด ๋  ๋•Œ ๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ ์ €์žฅ ๊ณต๊ฐ„์„ ๊ฐ€์ง€๊ณ 

        ํด๋ž˜์Šค ๋ณ€์ˆ˜๋Š”  ๊ฐ์ฒด ์ƒ์„ฑ์ด ์—ฌ๋Ÿฌ๋ฒˆ ๋˜์–ด๋„ ํ•˜๋‚˜์˜ ์ €์žฅ๊ณต๊ฐ„์„ ๊ฐ€์ง„๋‹ค.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class Gvar{
 
    //์ „์—ญ ๋ณ€์ˆ˜ ์„ ์–ธ
    int a;        
    boolean b;
    char c;
    double d;
 
    public static void main(String[] args){
        
        //System.out.println("a "+ a); 
        //-- non-static variable a cannot be referenced from a static context
        
        Gvar ob= new Gvar();
        System.out.println("int a     :" + ob.a);
        //์ „์—ญ ๋ณ€์ˆ˜๋Š” ์ดˆ๊ธฐํ™” ํ•˜์ง€ ์•Š์•„๋„ ์ž๋ฐ”๊ฐ€ ์ž๋™์œผ๋กœ ํ•ด์ค€๋‹ค.
 
        System.out.println("boolean b :" +ob.b);
 
        System.out.println("char c    :" +ob.c);
        
        System.out.println("double d  :" + ob.d);
    
 
    }
 
}
cs

๋ฌธ์žฅ 11 ) ๋ฌธ์žฅ 11๋ฒˆ์„ ๋ณด๋ฉด static ํ•จ์ˆ˜์—๋Š” staic๋ณ€์ˆ˜๋งŒ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.

                  ->๊ทธ๋ž˜์„œ ๋ฐ”๋กœ ๋ถˆ๋Ÿฌ์„œ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์—†๋‹ค.

๋ฌธ์žฅ 14 )  ๋ฐ”๋กœ ๋ถˆ๋Ÿฌ์„œ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด์„œ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โ—‹์ „์—ญ๋ณ€์ˆ˜ ๊ธฐ๋ณธ ์ดˆ๊ธฐํ™”๋œ ๊ฐ’

 

 

- int : 0

- boolean: false 

- char : ' '

- double : 0.0

- String :null

https://programmers.co.kr/learn/courses/30/lessons/12921

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์†Œ์ˆ˜ ์ฐพ๊ธฐ | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

1๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž n ์‚ฌ์ด์— ์žˆ๋Š” ์†Œ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”. ์†Œ์ˆ˜๋Š” 1๊ณผ ์ž๊ธฐ ์ž์‹ ์œผ๋กœ๋งŒ ๋‚˜๋ˆ„์–ด์ง€๋Š” ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. (1์€ ์†Œ์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.) ์ œํ•œ ์กฐ๊ฑด n์€ 2์ด์ƒ 1000000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ n result 10 4 5 3 ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 1๋ถ€ํ„ฐ 10 ์‚ฌ์ด์˜ ์†Œ์ˆ˜๋Š” [2,3,5,7] 4๊ฐœ๊ฐ€ ์กด์žฌํ•˜๋ฏ€๋กœ 4๋ฅผ ๋ฐ˜ํ™˜ ์ž…์ถœ๋ ฅ ์˜ˆ #2 1๋ถ€ํ„ฐ 5 ์‚ฌ์ด์˜ ์†Œ์ˆ˜๋Š” [2,3,5] 3๊ฐœ๊ฐ€ ์กด์žฌ

programmers.co.kr

 

<์†Œ์ˆ˜ ์ฐพ๊ธฐ >

 

 

 

โ—‹ ์ฒ˜์Œ ํ‘ผ ํ’€์ด

๋ณ€์ˆ˜ 2๊ฐœ ์‚ฌ์šฉํ•œ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
  public int solution(int n) {
      int answer = 0;
      int count =0;//์†Œ์ˆ˜ํŒ๋ณ„ ๋ณ€์ˆ˜
      int  primeNum=1;//์†Œ์ˆ˜๊ฐœ์ˆ˜ ๋ฐ˜ํ™˜๋ณ€์ˆ˜
     
      for(int i=3; i<=n;i++){//3๋ถ€ํ„ฐ n๊นŒ์ง€
         for(int j=2; j<i; j++){
              if(i%j==0)
                  count++;
 
          }
          if(count==0)
                  primeNum++;
          count=0;
      }
           return answer=primeNum;
  }
}
 

 

โ—‹ ๋ณ€์ˆ˜ ํ•˜๋‚˜ ์‚ฌ์šฉํ•œ ํ’€์ด

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
  public int solution(int n) {
      int answer = 1;
      int count =0;//์†Œ์ˆ˜ํŒ๋ณ„ ๋ณ€์ˆ˜
     
      for(int i=3; i<=n;i++){//3๋ถ€ํ„ฐ n๊นŒ์ง€
         for(int j=2; j<i; j++){
              if(i%j==0)
                  count++;
            }
          if(count==0)
                answer++;
          count=0;
      }
           return answer;
  }
}
 
cs

- ์ด๋ ‡๊ฒŒ ํ‘ธ๋‹ˆ๊น ํšจ์œจ์„ฑ ๊ฒ€์‚ฌ๋ž‘ ํ…Œ์ŠคํŠธ 10, 11์ด ์‹œ๊ฐ„์ดˆ๊ณผ๋กœ ์•ˆ๋œ๋‹ค

- ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค ์ฒด? ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ๋Š”๋ฐ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค ๋‹ค์‹œ ํ’€์–ด๋ด์•ผ๊ฒ ๋‹ค.

 

 

โ—‹ ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค ์ฒด๋ฅผ ์ด์šฉํ•œ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
  public int solution(int n) {
      int answer = 0;
      boolean[] sosu =new boolean [n+1];
      
      for(int i=2; i<=n ; i++)
          sosu[i]=true;
       //์—๋ผํ…Œ๋„ค์Šค   
      int root=(int)Math.sqrt(n);
      
     for(int i=2; i<=root; i++){
         if(sosu[i]==true){
             for(int j=i; i*j<=n; j++)
                    sosu[i*j]=false;
         }      
     }
      for(int i =2; i<=n; i++)  { 
          if(sosu[i]==true)
          answer++;
      }
      return answer;
  }
}
      
cs

์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ์•„์ด๋””์–ด

1. ์ž์‹ ์˜ ๊ฐ’์˜ ๋ฃจํŠธ ๊ฐ’์„  ๊ตฌํ•œ๋‹ค. 

2. 2๋ถ€ํ„ฐ ๋ฃจํŠธ ๊ฐ’์‚ฌ์ด์˜ ์ˆ˜๋“ค์˜ ๋ฐฐ์ˆ˜๋“ค์„ ๋‹ค ์—†์•ค๋‹ค

3. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋จธ์ง€๋Š” ์†Œ์ˆ˜์ด๋‹ค.

 

์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด

 

https://programmers.co.kr/learn/courses/30/lessons/12919

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์„œ์šธ์—์„œ ๊น€์„œ๋ฐฉ ์ฐพ๊ธฐ | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

Stringํ˜• ๋ฐฐ์—ด seoul์˜ element์ค‘ Kim์˜ ์œ„์น˜ x๋ฅผ ์ฐพ์•„, ๊น€์„œ๋ฐฉ์€ x์— ์žˆ๋‹ค๋Š” String์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. seoul์— Kim์€ ์˜ค์ง ํ•œ ๋ฒˆ๋งŒ ๋‚˜ํƒ€๋‚˜๋ฉฐ ์ž˜๋ชป๋œ ๊ฐ’์ด ์ž…๋ ฅ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ œํ•œ ์‚ฌํ•ญ seoul์€ ๊ธธ์ด 1 ์ด์ƒ, 1000 ์ดํ•˜์ธ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. seoul์˜ ์›์†Œ๋Š” ๊ธธ์ด 1 ์ด์ƒ, 20 ์ดํ•˜์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. Kim์€ ๋ฐ˜๋“œ์‹œ seoul ์•ˆ์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ seoul return

programmers.co.kr

 

 

1. ์‹ค์ˆ˜ํ•œ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
  public String solution(String[] seoul) {
      String answer = "";
      String x="";
      
      for(int i=0; i<seoul.length;i++){
          
          if(seoul[i].equals("Kim")){
              x+=i;
              answer="๊น€์„œ๋ฐฉ์€ i์— ์žˆ๋‹ค";
              answer.replaceAll("i","x");
              
          }
          
          
      }
      
      
      return answer;
  }
}
cs

 

- ๋ฌธ์ž์—ด์„ ์–ด๋–ป๊ฒŒ ๋”ํ•ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค..

-??๊ฐ‘์ž๊ธฐ ๋ญ๊ฐ€ ํ—ท๊ฐˆ๋ ธ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค.

 

 

2. ์ฒ˜์Œ ํ‘ผ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution {
  public String solution(String[] seoul) {
      String answer = "";
     
      for(int i=0; i<seoul.length;i++){
                
          if(seoul[i].equals("Kim")){
              
              answer="๊น€์„œ๋ฐฉ์€ ";
              answer+=i;
              answer+="์— ์žˆ๋‹ค";
              
          }
 
      }
     
      return answer;
  }
}
cs

์ƒ๊ฐ๊ณผ์ •

- ๋ฌธ์ž์—ด์€ ==์—ฐ์‚ฐ์ž๋กœ ๋น„๊ตํ•˜๋ฉด ์ฃผ์†Œ๊ฐ’์„ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์›ํ•˜๋Š” ๋‹ต์„ ์–ป์ง€ ๋ชปํ•œ๋‹ค.

- ๊ทธ๋ž˜์„œ .equals ํ•จ์ˆ˜๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ๋น„๊ตํ•ด์„œ 'Kim'์˜ ์œ„์น˜๋ฅผ ์ฐพ๋Š”๋‹ค.

- int๊ฐ’์„ ๋”ํ•ด์„œ ๋ฌธ์žฅ์„ ๋งŒ๋“ค์ˆ˜์žˆ๋‹ค.

- ์ธ๋ฑ์Šค i ๊ฐ’์„ ์ฐพ์•„์„œ ๋ฌธ์žฅ์‚ฌ์ด์— ๋”ํ•ด์„œ returnํ•ด์ค€๋‹ค. 

 

//   answer = "๊น€์„œ๋ฐฉ์€ "+ i + "์— ์žˆ๋‹ค"; ์ด๋ ‡๊ฒŒ ํ•ด๋„ ๋œ๋‹ค.

+ Recent posts