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

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

+ Recent posts