๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿงฉ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/๐Ÿต ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด(Java)

[ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java ] ๋ฌธ์ž์—ด ๋‚ด p์™€ y์˜ ๊ฐœ์ˆ˜

by carrot0911 2025. 3. 24.

๋ฌธ์ œ ์„ค๋ช…

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

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

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

์ œํ•œ ์‚ฌํ•ญ

  • ๋ฌธ์ž์—ด s์˜ ๊ธธ์ด: 50 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜
  • ๋ฌธ์ž์—ด s๋Š” ์•ŒํŒŒ๋ฒณ์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

s answer
"pPoooyY" true
"Pyy" false

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • 'p'์˜ ๊ฐœ์ˆ˜ 2๊ฐœ, 'y'์˜ ๊ฐœ์ˆ˜ 2๊ฐœ๋กœ ๊ฐ™์œผ๋ฏ€๋กœ true๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • 'p'์˜ ๊ฐœ์ˆ˜ 1๊ฐœ, 'y'์˜ ๊ฐœ์ˆ˜ 2๊ฐœ๋กœ ๋‹ค๋ฅด๋ฏ€๋กœ false๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

 

๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ

class Solution {
    boolean solution(String s) {
        boolean answer = true;
		
        // p์˜ ๊ฐœ์ˆ˜
        int pSum = 0;
        // y์˜ ๊ฐœ์ˆ˜
        int ySum = 0;
        
        // ๋ฌธ์ž์—ด s๋ฅผ ๋ฌธ์ž List๋กœ ๋ณ€ํ™˜
        char[] sList = s.toCharArray();
        
        // ๋ฐ˜๋ณต๋ฌธ ์‹คํ–‰ (sList์˜ ๊ธธ์ด๋งŒํผ)
        for (int i = 0; i < sList.length; i++) {
            // ๋งŒ์•ฝ ํ•ด๋‹น ์•ŒํŒŒ๋ฒณ์ด p์ผ ๊ฒฝ์šฐ
            if (sList[i] == 'p' || sList[i] == 'P') {
            	// p์˜ ๊ฐœ์ˆ˜ +1
                pSum++;
            }
            
            // ๋งŒ์•ฝ ํ•ด๋‹น ์•ŒํŒŒ๋ฒณ์ด y์ผ ๊ฒฝ์šฐ
            if (sList[i] == 'y' || sList[i] == 'Y') {
            	// y์˜ ๊ฐœ์ˆ˜ +1
                ySum++;
            }
        }
        
        // ๋งŒ์•ฝ p์˜ ๊ฐœ์ˆ˜์™€ y์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด
        if (pSum != ySum) {
            // answer๋Š” false
            answer = false;
        }
		
        // answer ๋ฐ˜ํ™˜
        return answer;
    }
}

๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด ์ƒ๊ฐํ•œ ๋ฐฉํ–ฅ

  • ๋ฌธ์ž์—ด์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•œ ํ›„์— ๊ฐ๊ฐ์˜ ์•ŒํŒŒ๋ฒณ์„ ๋น„๊ตํ•ด์„œ p์™€ y์˜ ๊ฐœ์ˆ˜๋ฅผ ํ™•์ธํ•˜๊ธฐ
  • ๊ฐœ์ˆ˜ ํ™•์ธ์ด ๋๋‚˜๋ฉด ๋‘ ์ˆ˜๊ฐ€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ
  • ๋ฌธ์ œ๊ฐ€ ์›ํ•˜๋Š” answer ๊ฐ’์„ returnํ•˜๊ธฐ