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