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 + "์— ์žˆ๋‹ค"; ์ด๋ ‡๊ฒŒ ํ•ด๋„ ๋œ๋‹ค.

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

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋ฌธ์ž์—ด ๋‚ด p์™€ y์˜ ๊ฐœ์ˆ˜ | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๊ฐ€ ์„ž์—ฌ์žˆ๋Š” ๋ฌธ์ž์—ด s๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. s์— 'p'์˜ ๊ฐœ์ˆ˜์™€ 'y'์˜ ๊ฐœ์ˆ˜๋ฅผ ๋น„๊ตํ•ด ๊ฐ™์œผ๋ฉด True, ๋‹ค๋ฅด๋ฉด False๋ฅผ return ํ•˜๋Š” solution๋ฅผ ์™„์„ฑํ•˜์„ธ์š”. 'p', 'y' ๋ชจ๋‘ ํ•˜๋‚˜๋„ ์—†๋Š” ๊ฒฝ์šฐ๋Š” ํ•ญ์ƒ True๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ๊ฐœ์ˆ˜๋ฅผ ๋น„๊ตํ•  ๋•Œ ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋Š” ๊ตฌ๋ณ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด s๊ฐ€ pPoooyY๋ฉด true๋ฅผ returnํ•˜๊ณ  Pyy๋ผ๋ฉด false๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค. ์ œํ•œ์‚ฌํ•ญ ๋ฌธ์ž์—ด s์˜ ๊ธธ์ด : 50 ์ดํ•˜์˜

programmers.co.kr

 

1. ์ฒ˜์Œ์œผ๋กœ ํ‘ผ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
    boolean solution(String s) {
        boolean answer = true;
      
        int a=0,b=0;
        
        for(int i=0;i<s.length();i++){
            
            if(s.charAt(i)=='p'||s.charAt(i)=='P')
                  ++a;
            else if(s.charAt(i)=='y'||s.charAt(i)=='Y')
                  ++b;
                  
            
                  
         answer = a==b? true:false;
            
            
cs

์ƒ๊ฐ๊ณผ์ •

-๋ฐ›์•„์˜จ String s๋ฅผ for๋ฌธ์„ ๋Œ๋ ค charAt()์œผ๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ์–ด๋–ค ๋ฌธ์ž์ธ์ง€ ๋ด์•ผ๊ฒ ๋‹ค.

-charAt()์œผ๋กœ 'P' ๋˜๋Š” 'p'์ผ ๋•Œ ๋ณ€์ˆ˜ a๋ฅผ ํ•˜๋‚˜ ์ฆ๊ฐ€ ์‹œ์ผœ์•ผ๊ฒ ๋‹ค

-charAt()์œผ๋กœ 'Y' ๋˜๋Š” 'y'์ผ ๋•Œ ๋ณ€์ˆ˜ b๋ฅผ ํ•˜๋‚˜ ์ฆ๊ฐ€ ์‹œ์ผœ์•ผ๊ฒ ๋‹ค.

-๊ทธ๋Ÿฌ๋ฏ€๋กœ a ์™€ b๊ฐ€ ๊ฐ™์œผ๋ฉด y ์™€ p์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๊ฐ™์€ ๊ฒƒ ์ด๋‹ค.

-๋งˆ์ง€๋ง‰์œผ๋กœ ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋กœ a==b๊ฐ€ ์ฐธ์ผ ๋•Œ true๋ฅผ ๋ฐ˜ํ™˜ ๊ฑฐ์ง“ ์ผ ๋•Œ false๋ฅผ ๋ฐ˜ํ™˜.

 

 

2. ๋‹ค๋ฅธ์‚ฌ๋žŒ์ด ํ‘ผ ํ’€์ด๋ฅผ ๋ณด๊ณ  ๋‹ค์‹œ ํ‘ผ ํ’€์ด (๋ณ€์ˆ˜ 1๊ฐœ๋งŒ ์‚ฌ์šฉ)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
    boolean solution(String s) {
        boolean answer = true;
      
         int count=0;
        
        for(int i=0;i<s.length();i++){
            
            if(s.charAt(i)=='p'||s.charAt(i)=='P')
                  count++;
            else if(s.charAt(i)=='y'||s.charAt(i)=='Y')
                  count--;
                  
         answer = count==0true:false;
          
        }
     
        return answer;
    }
}
cs

์ƒ๊ฐ๊ณผ์ •

- ์œ„์— ํ’€์ด์™€ ๋™์ผํ•œ๋ฐ ์ด๊ฑด ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜ ์‚ฌ์šฉํ–ˆ๋‹ค.

-count๋ฅผ ์ด์šฉํ•ด์„œ p ์ผ๋•Œ๋Š” +1 , y ์ผ ๋•Œ๋Š” -1

-๋งˆ์ง€๋ง‰์œผ๋กœ count๊ฐ€ 0์ด๋ฉด p์™€ y ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์€ ๊ฒƒ์ด๋ฏ€๋กœ true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

 

3. ๋žŒ๋‹ค์‹์œผ๋กœ ํ’€๊ธฐ

1
2
3
4
5
6
7
8
9
 
class Solution {
    boolean solution(String s) {
        s = s.toUpperCase();
 
        return s.chars().filter( e -> 'P'== e).count() == s.chars().filter( e -> 'Y'== e).count();
    }
}
 
cs

-์•„์ง ๋žŒ๋‹ค์‹์œผ๋กœ ํ’€์ค„ ๋ชจ๋ฅด๋‹ˆ๊น ๋‚˜์ค‘์— ํ’€์–ด๋ณด์ž

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

 

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

๋‹จ์–ด s์˜ ๊ฐ€์šด๋ฐ ๊ธ€์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”. ๋‹จ์–ด์˜ ๊ธธ์ด๊ฐ€ ์ง์ˆ˜๋ผ๋ฉด ๊ฐ€์šด๋ฐ ๋‘๊ธ€์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์žฌํ•œ์‚ฌํ•ญ s๋Š” ๊ธธ์ด๊ฐ€ 1 ์ด์ƒ, 100์ดํ•˜์ธ ์ŠคํŠธ๋ง์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ s return abcde c qwer we

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 s) {
      String answer = "";
      int  num=s.length()/2-1;
 
      if(s.length()%2==0){          //์ง์ˆ˜์ผ๋•Œ
 
          answer= answer+s.charAt(num);
          answer= answer+s.charAt(num+1);
 
      }else if(s.length()%2!=0){    //ํ™€์ˆ˜์ผ๋•Œ
          num=s.length()/2;
       answer=answer+s.charAt(num);
 
      }
 
 
      return answer;
  }
}
cs

๋‚˜์˜ ์ƒ๊ฐ ๊ณผ์ •

1.๋ฌธ์ž์—ด์„ ๋ฐ›์•„์„œ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ์•Œ์•„ ๋‚ด์•ผ๊ฒ ๋‹ค.

2.๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ์•Œ์•„๋‚ด์„œ ์ง์ˆ˜์™€ ํ™€์ˆ˜๋กœ ๋‚˜๋ˆ„์–ด์•ผ ๊ฒ ๋‹ค.

 - ์ง์ˆ˜๋Š” ๋ฌธ์ž์—ด๊ธธ์ด๋ฅผ %๋กœ ์—ฐ์‚ฐํ–ˆ์„๋•Œ 0, ํ™€์ˆ˜๋Š” ๋ฌธ์ž์—ด๊ธธ์ด๋ฅผ %๋กœ ์—ฐ์‚ฐํ–ˆ์„๋•Œ 0์ด ์•„๋‹ˆ๋‹ค.

3.charAt() ์œผ๋กœ ๋ฌธ์ž์—ด์—์„œ ๋ฌธ์ž๋ฅผ ์ถ”์ถœํ•ด์„œ ์ถœ๋ ฅ ํ•ด์•ผ๊ฒ ๋‹ค.

-์ง์ˆ˜ ์ผ๋•Œ ์ค‘๊ฐ„์€ ์ง์ˆ˜๋ฅผ ๋‚˜๋ˆด์„๋•Œ ๋ชซ์˜ ๊ฐ’์ด๋‹ค. ํ•˜์ง€๋งŒ ์ธ๋ฑ์Šค ๊ฐ’์€ 0๋ถ€ํ„ฐ ์ด๋ฏ€๋กœ ๋ชซ๊ฐ’์˜ -1 ์„ ํ•ด์„œ  ๋‘๊ธ€์ž๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

  ์˜ˆ) 4๊ธ€์ž์ด๋ฉด s=0,1,2,3  4/2=2 ์ถœ๋ ฅํ•ด์•ผํ•˜๋Š” ๊ฐ’์€ 1,2์ด๋ฏ€๋กœ ๋ชซ๊ฐ’์˜ -1,๋ชซ๊ฐ’ ์„ ์ถœ๋ ฅํ•œ๋‹ค.

-ํ™€์ˆ˜ ์ผ๋•Œ ์ค‘๊ฐ„์€ ํ™€์ˆ˜๋ฅผ ๋‚˜๋ˆด์„๋•Œ ๋ชซ์˜ ๊ฐ’์ด ์ธ๋ฑ์Šค๊ฐ’์˜ ์ค‘๊ฐ„์ด๋ฏ€๋กœ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

  ์˜ˆ) 5๊ธ€์ž์ด๋ฉด  s=0,1,2,3,4  5/2=2 2๋Š” ์ค‘๊ฐ„๊ฐ’

 

 

 

2.๋‹ค๋ฅธ์‚ฌ๋žŒ ํ’€์ด๋ณด๊ณ  SubString()์œผ๋กœ ํ‘ผ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
  public String solution(String s) {
      String answer = "";
      
      if(s.length()%2==0){          //์ง์ˆ˜์ผ๋•Œ
        answer= s.substring(s.length()/2-1,s.length()/2+1);
          
          
      }else if(s.length()%2!=0){    //ํ™€์ˆ˜์ผ๋•Œ
          
        answer= s.substring(s.length()/2,s.length()/2+1);
          
      }
      
      
      return answer;
  }
}
cs

 

SubString() ๊ฐœ๋…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//substring 
 
String.substring(์‹œ์ž‘ ์ธ๋ฑ์Šค);    //์‹œ์ž‘๋ถ€ํ„ฐ ๋๊นŒ์ง€
String.substring(์‹œ์ž‘ ์ธ๋ฑ์Šค,๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค;//์‹œ์ž‘๋ถ€ํ„ฐ ๋ ์ „๊นŒ์ง€
 
 
//์˜ˆ์ œ
String str="0123456";
 
 
str.substring(3);
// 3456
 
str.substring(3,5);
//34
 
cs

 

 

 

 

์ข‹์•„์š”๋ฅผ ๋งŽ์ด ๋ฐ›์€ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
class StringExercise{
    String getMiddle(String word){
 
        return word.substring((word.length()-1/ 2, word.length()/2 + 1);    
    }
    // ์•„๋ž˜๋Š” ํ…Œ์ŠคํŠธ๋กœ ์ถœ๋ ฅํ•ด ๋ณด๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
    public static void  main(String[] args){
        StringExercise se = new StringExercise();
        System.out.println(se.getMiddle("power"));
    }
}
cs

 

-์ด๊ฑด StringExercise ๋ฅผ ๋ชฐ๋ผ์„œ ๋ชป ํ’€๊ฒ ๋‹ค.. ๋‹ค์Œ์— ๊ผญ ํ’€์–ด๋ด์•ผ๊ฒ ๋‹ค..

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

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋‘ ์ •์ˆ˜ ์‚ฌ์ด์˜ ํ•ฉ | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

๋‘ ์ •์ˆ˜ a, b๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ a์™€ b ์‚ฌ์ด์— ์†ํ•œ ๋ชจ๋“  ์ •์ˆ˜์˜ ํ•ฉ์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด a = 3, b = 5์ธ ๊ฒฝ์šฐ, 3 + 4 + 5 = 12์ด๋ฏ€๋กœ 12๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์กฐ๊ฑด a์™€ b๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋‘˜ ์ค‘ ์•„๋ฌด ์ˆ˜๋‚˜ ๋ฆฌํ„ดํ•˜์„ธ์š”. a์™€ b๋Š” -10,000,000 ์ด์ƒ 10,000,000 ์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค. a์™€ b์˜ ๋Œ€์†Œ๊ด€๊ณ„๋Š” ์ •ํ•ด์ ธ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ a b return 3 5 12 3 3 3 5 3

programmers.co.kr

 

 

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
  public long solution(int a, int b) {
      long answer = 0;
      
      if(a<b){//a๊ฐ€ b๋ณด๋‹ค ์ž‘์„ ๋•Œ
          
          for(int i=a; i<=b ; i++){
              answer+=i;    
          }
      }else if(a>b){//a๊ฐ€ b๋ณด๋‹ค ํด ๋•Œ
          
          for(int i=b; i<=a ; i++){
              answer+=i;
          }
      }else{//a=b๊ฐ€ ๊ฐ™์„ ๋•Œ
          answer=a;
      }
      
      
      return answer;
  }
}
cs

์ƒ๊ฐ๊ณผ์ •

- a๊ฐ€ b๋ณด๋‹ค ์ž‘์„ ๋•Œ, ํด ๋•Œ, ๊ฐ™์„ ๋•Œ ๋กœ ๋‚˜๋ˆˆ๋‹ค.

- a๊ฐ€ b๋ณด๋‹ค ์ž‘์„ ๋•Œ๋Š” for์˜ ๋ฒ”์œ„๋ฅผ for(int i=b; i<=a ; i++)๋กœ ์žก์•„ a๋กœ ์‹œ์ž‘ํ•ด์„œ ํ•˜๋‚˜์”ฉ ๋Š˜๋ ค b๊นŒ์ง€ answer์— ๋”ํ•ด์ค€๋‹ค.

- a๊ฐ€ b๋ณด๋‹คํด ๋•Œ ๋Š” for์˜ ๋ฒ”์œ„๋ฅผ for(int i=b; i<=a ; i++) ๋กœ ์žก์•„ b๋กœ ์‹œ์ž‘ํ•ด์„œ ํ•˜๋‚˜์”ฉ ๋Š˜๋ ค a๊นŒ์ง€ answer์— ๋”ํ•ด์ค€๋‹ค.

- ๊ฐ™์„๋•Œ๋Š” ๋‘˜์ค‘์— ์•„๋ฌด๊ฐ’์ด๋‚˜ ํ•˜๋‚˜ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.

 

2. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ๋ณด๊ณ  ํ‘ผ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
class Solution {
  public long solution(int a, int b) {
      long answer = 0;
      
      for(int i= (a>b ? b : a); i<=(a>b ? a : b); i++)    //์‚ผํ•ญ์—ฐ์‚ฐ์ž 
          answer+=i;
      
      return answer;
  }
}
cs

- for๋ฌธ ์•ˆ์— ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ํ’€์ดํ–ˆ๋‹ค.

- ๋‚˜์ค‘์— ๋‹ค๋ฅธ ๋ฌธ์ œ์—์„œ๋„ ์‚ฌ์šฉ ํ•ด๋ด์•ผ๊ฒ ๋‹ค.

+ Recent posts