โค๏ธ Problem
- ๋ฌธ์
๋จธ์ฑ์ด๋ ํ์ด๋ ์ง 6๊ฐ์ ๋ ์กฐ์นด๋ฅผ ๋๋ณด๊ณ ์์ต๋๋ค. ์กฐ์นด๋ ์์ง "aya", "ye", "woo", "ma" ๋ค ๊ฐ์ง ๋ฐ์์ ์ต๋ ํ ๋ฒ์ฉ ์ฌ์ฉํด ์กฐํฉํ(์ด์ด ๋ถ์ธ) ๋ฐ์๋ฐ์ ํ์ง ๋ชปํฉ๋๋ค. ๋ฌธ์์ด ๋ฐฐ์ด babbling์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋จธ์ฑ์ด์ ์กฐ์นด๊ฐ ๋ฐ์ํ ์ ์๋ ๋จ์ด์ ๊ฐ์๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
- ์ ํ ์ฌํญ
- 1 ≤ babbling์ ๊ธธ์ด ≤ 100
- 1 ≤ babbling[i]์ ๊ธธ์ด ≤ 15
- babbling์ ์์์์ "aya", "ye", "woo", "ma"๋ ๊ฐ๊ฐ ์ต๋ ํ ๋ฒ์ฉ๋ง ๋ฑ์ฅํฉ๋๋ค.
- ๋ฌธ์์ด์ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์ ์ถ๋ ฅ ์ & ์ค๋ช
no | babbling | result |
1 | ["aya", "yee", "u", "maa", "wyeoo"] | 1 |
2 | ["ayaye", "uuuma", "ye", "yemawoo", "ayaa"] | 3 |
- ["aya", "yee", "u", "maa", "wyeoo"]์์ ๋ฐ์ํ ์ ์๋ ๊ฒ์ "aya"๋ฟ์ ๋๋ค. ๋ฐ๋ผ์ 1์ returnํฉ๋๋ค.
- ["ayaye", "uuuma", "ye", "yemawoo", "ayaa"]์์ ๋ฐ์ํ ์ ์๋ ๊ฒ์ "aya" + "ye" = "ayaye", "ye", "ye" + "ma" + "woo" = "yemawoo"๋ก 3๊ฐ์ ๋๋ค. ๋ฐ๋ผ์ 3์ returnํฉ๋๋ค.
- ๋ค ๊ฐ์ง๋ฅผ ๋ถ์ฌ ๋ง๋ค ์ ์๋ ๋ฐ์ ์ด์ธ์๋ ์ด๋ค ๋ฐ์๋ ํ ์ ์๋ ๊ฒ์ผ๋ก ๊ท์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด "woowo"๋ "woo"๋ ๋ฐ์ํ ์ ์์ง๋ง "wo"๋ฅผ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ํ ์ ์๋ ๋ฐ์์ ๋๋ค.
โป ๊ณต์ง - 2022๋ 10์ 27์ผ ๋ฌธ์ ์ง๋ฌธ์ด ๋ฆฌ๋ด์ผ๋์์ต๋๋ค. ๊ธฐ์กด์ ์ ์ถํ ์ฝ๋๊ฐ ํต๊ณผํ์ง ๋ชปํ ์๋ ์์ต๋๋ค.
๐ Solution
ํ์ด 1
class Solution {
public int solution(String[] babbling) {
String[] standard = {"aya", "ye", "woo", "ma"};
int answer = 0;
for(int i=0; i<babbling.length; i++) {
for(int j=0; j<standard.length; j++) {
while(babbling[i].contains(standard[j])) {
babbling[i] = babbling[i].replaceFirst(standard[j], " ");
if(babbling[i].trim().length()==0) {
answer++;
}
}
}
}
return answer;
}
}
์ฒ๋ฆฌ์๋ Very Bad๐ฅ
ํ์ด 2
class Solution {
public int solution(String[] babbling) {
int answer = 0;
for(int i =0; i < babbling.length; i++) {
babbling[i] = babbling[i].replace("aya", " ");
babbling[i] = babbling[i].replace("woo", " ");
babbling[i] = babbling[i].replace("ye", " ");
babbling[i] = babbling[i].replace("ma", " ");
if(babbling[i].trim().isEmpty()) {
answer++;
}
}
return answer;
}
}
์ฒ๋ฆฌ์๋๊ฐ ํจ์ฌ ๋์์ก๋ค.
๐ Comment
์ฒ์ ์์ฑํ ํ์ด์ ๊ฒฝ์ฐ for๋ฌธ ์์ while๋ฌธ์ ๊ฒน์ณ์ฐ๋ฉด์ ์ฒ๋ฆฌ ์๋๊ฐ ํ์ ํ๊ฒ ๋๋ฆฐ ๊ฒ์ ํ์ธํ ์ ์๋ค. ๋ฌธ์ ๋ฅผ ์ ์ถํ๊ณ ์ฑ๋ฅ์ ๊ณ ๋ฏผํ๋ค ๋ณด๋, ๊ทธ์ ์ผ ๋ฌธ์ ์กฐ๊ฑด์ด ๋์ ์ ๋๋ก ๋ค์ด์๋ค.
"aya", "ye", "woo", "ma" ๋ค ๊ฐ์ง ๋ฐ์์ ์ต๋ ํ ๋ฒ์ฉ ์ฌ์ฉ
๊ทธ๋ ๋ค.. ์ฒ์๋ถํฐ while๋ฌธ์ ์ฌ์ฉํ ํ์๋ ์์๋ค.
์ด์ฐจํผ "aya", "ye", "woo", "ma" ์ด ๋ค ๊ฐ์ง ๋ฐ์์ ํ ๋ฒ์ฉ๋ง ์ฌ์ฉํ๋ฏ๋ก ์์ฐจ์ ์ผ๋ก babbling[i].replace("๋ฐ์๊ฐ๋ฅํ๊ฒ๋ค", " ");์ ์ํํ๋ฉด ๋๋ ๋ฌธ์ ์๋ ๊ฒ์ด๋ค.
๊ดํ ์ด๋ ต๊ฒ ๊ผฌ์์ ์๊ฐํ๋ค๊ฐ ์ฝ๋๋ง ๋ณต์กํด์ก๋ค. ๊ทผ๋ฐ ๋ ๊ผฌ์์ ์๊ฐํ๋ค๊ธฐ์๋.. while๋ฌธ ์์ babbling[i].replaceFirst(); ์ด๊ฑธ ์ ์ ์๋์ง ์ดํด๊ฐ ๊ฐ์ง ์๋๋ค๐ ์๋ค๊ฐ ์ ๋ง๋ ์ฝ๋๊ฐ ๋ฐ๋ก ์๋ค.
์ฐธ, ์ฒ์์๋ babbling[i].replaceFirst("๋ฐ์๊ฐ๋ฅํ๊ฒ๋ค", "");๋ก ์ฒ๋ฆฌํ๋๋ฐ, ํด๋น ๋ฐ์์ด ์ฌ๋ผ์ง๋ฉด์ ๋ฐ๋ก ์ ๋จ์ด๊ฐ ํด๋น ๋ฐ์์ ๋ค์ ์๋ ๋จ์ด์ ๋ถ์ฌ์ฐ๊ธฐ๊ฐ ๋๋ฉด์ ์๋ ํด๋น์ด ์๋๋ ๋ฐ์์ด ๋ง์น ๋๋ ๊ฒ์ฒ๋ผ ๋ํ๋๋ ์ํฉ์ด ๋ฐ์ํ๋ค.
("wyeoo" ๐ ye์ ๊ฑฐ+๊ณต๋ฐฑ์์ ๐ woo ๐ woo๋ก ์ธ์๋์ด ์ ๊ฑฐ ๐ isEmpty() ์ฌ์ฉ ์ true๊ฐ ๋ฐํ)
๊ทธ๋์ babbling[i].replace("๋ฐ์๊ฐ๋ฅํ๊ฒ๋ค", " ");์ฒ๋ผ ๊ณต๋ฐฑ์ ์ง์ด๋ฃ์ ๋ค ๋ง์ง๋ง์ ๊ณต๋ฐฑ์ ์ ๊ฑฐํด์ฃผ๋ babbling[i].trim();์ ์ฌ์ฉํ๊ณ isEmpty();๋ก ๊ฒ์ฌํ์๋ค.
๋ฌธ์ ๋ฅผ ์กฐ๊ธ๋ง ๋ฐ์ ธ๋ดค์ผ๋ฉด ์ข ๋ ์ฑ๋ฅ์ด ์ข์ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์์ ํ ๋ฐ ๊ทธ ์ ์ด ์์ฝ๋ค.
'Programmers lv-0' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ค์์ ์ฌ ์ซ์ - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.28 |
---|---|
์ฐ์๋ ์์ ํฉ - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.28 |
๋ฌธ์์ด ๋ฐ๊ธฐ - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.28 |
๋ก๊ทธ์ธ ์ฑ๊ณต? - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.28 |
๊ฒน์น๋ ์ ๋ถ์ ๊ธธ์ด - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.28 |
์ ํ์์ ํ๋ณํ๊ธฐ - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.28 |
๋๊ธ