๐Ÿ Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Programmers] ์˜น์•Œ์ด(2)(์ž๋ฐ”)

Dhey 2023. 6. 12. 21:29
๋ฐ˜์‘ํ˜•

โžฐ๋ฌธ์ œ

๋จธ์“ฑ์ด๋Š” ํƒœ์–ด๋‚œ ์ง€ 11๊ฐœ์›” ๋œ ์กฐ์นด๋ฅผ ๋Œ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ์นด๋Š” ์•„์ง "aya", "ye", "woo", "ma" ๋„ค ๊ฐ€์ง€ ๋ฐœ์Œ๊ณผ ๋„ค ๊ฐ€์ง€ ๋ฐœ์Œ์„ ์กฐํ•ฉํ•ด์„œ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฐœ์Œ๋ฐ–์— ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์—ฐ์†ํ•ด์„œ ๊ฐ™์€ ๋ฐœ์Œ์„ ํ•˜๋Š” ๊ฒƒ์„ ์–ด๋ ค์›Œํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ๋ฐฐ์—ด babbling์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋จธ์“ฑ์ด์˜ ์กฐ์นด๊ฐ€ ๋ฐœ์Œํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

 

์ œํ•œ์‚ฌํ•ญ

   -  1 ≤ babbling์˜ ๊ธธ์ด ≤ 100

   -  1 ≤ babbling[i]์˜ ๊ธธ์ด ≤ 30

   -  ๋ฌธ์ž์—ด์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

 


์ž…์ถœ๋ ฅ ์˜ˆ

babblingresult

babbling result
["aya", "yee", "u", "maa"] 1
["ayaye", "uuuma", "yeye", "yemawoo", "ayaayaa"] 2

 


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

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

  • ["aya", "yee", "u", "maa"]์—์„œ ๋ฐœ์Œํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ "aya"๋ฟ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1์„ returnํ•ฉ๋‹ˆ๋‹ค.

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

  • ["ayaye", "uuuma", "yeye", "yemawoo", "ayaayaa"]์—์„œ ๋ฐœ์Œํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ "aya" + "ye" = "ayaye", "ye" + "ma" + "woo" = "yemawoo"๋กœ 2๊ฐœ์ž…๋‹ˆ๋‹ค. "yeye"๋Š” ๊ฐ™์€ ๋ฐœ์Œ์ด ์—ฐ์†๋˜๋ฏ€๋กœ ๋ฐœ์Œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 2๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

 


์œ ์˜์‚ฌํ•ญ

  • ๋„ค ๊ฐ€์ง€๋ฅผ ๋ถ™์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฐœ์Œ ์ด์™ธ์—๋Š” ์–ด๋–ค ๋ฐœ์Œ๋„ ํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์œผ๋กœ ๊ทœ์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "woowo"๋Š” "woo"๋Š” ๋ฐœ์Œํ•  ์ˆ˜ ์žˆ์ง€๋งŒ "wo"๋ฅผ ๋ฐœ์Œํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ•  ์ˆ˜ ์—†๋Š” ๋ฐœ์Œ์ž…๋‹ˆ๋‹ค.

 

 

 

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

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 


 

๐Ÿ’กํ’€์ด

  * ์ด์ „์˜ ์˜น์•Œ์ด(1)๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ํ‘ผ๋‹ค.

 

[Programmers] ์˜น์•Œ์ด(1)(์ž๋ฐ”)

๋ฌธ์ œ ๋จธ์“ฑ์ด๋Š” ํƒœ์–ด๋‚œ ์ง€ 6๊ฐœ์›” ๋œ ์กฐ์นด๋ฅผ ๋Œ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ์นด๋Š” ์•„์ง "aya", "ye", "woo", "ma" ๋„ค ๊ฐ€์ง€ ๋ฐœ์Œ์„ ์ตœ๋Œ€ ํ•œ ๋ฒˆ์”ฉ ์‚ฌ์šฉํ•ด ์กฐํ•ฉํ•œ(์ด์–ด ๋ถ™์ธ) ๋ฐœ์Œ๋ฐ–์— ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ๋ฐฐ์—ด babbling

dhdh-study.tistory.com

 

 

 

 

โญ์ œ์ถœ ์ฝ”๋“œ

class Solution {
    public int solution(String[] babbling) {
        int answer = 0;
        String[] str = {"aya", "ye", "woo", "ma"};
        String[] repeatStr = {"ayaaya", "yeye", "woowoo", "mama"};
        for(int i=0; i<babbling.length; i++){
            for(int j=0; j<str.length; j++){
                babbling[i] = babbling[i].replaceAll(repeatStr[j], "1").replaceAll(str[j], " ");
            }
            
            if(babbling[i].trim().length() == 0){
                answer++;
            }
        }
        return answer;
    }
}

์˜น์•Œ์ด(1)๊ณผ ๋‹ค๋ฅธ์ ์ด ์žˆ๋‹ค๋ฉด,

์—ฐ์†๋œ ๋ฐœ์Œ์€ ํ•˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ ์—ฐ์†๋œ ๋‹จ์–ด๋ฅผ ๋˜๋‹ค๋ฅธ ๋ฌธ์ž์—ด์— ์ƒ์„ฑํ•˜์—ฌ replace ํ•ด์ค€๋‹ค.

์ด๋•Œ ๋นˆ๋ฌธ์ž์—ด ""์ด ์•„๋‹Œ "  " ๊ณต๋ฐฑ์œผ๋กœ replace ํ•˜๋Š” ์ด์œ ๋Š” ๊ณต๋ฐฑ์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ์„ ๊ฒฝ์šฐ ์•ž์˜ ๋‹จ์–ด์™€ ์—ฐ๊ฒฐ๋˜์–ด ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ณต๋ฐฑ์œผ๋กœ replace ํ•ด์ค€ ํ›„ trim()์œผ๋กœ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•ด ์ค€๋‹ค.  

 

 

๋ฐ˜์‘ํ˜•