https://school.programmers.co.kr/learn/courses/30/lessons/120956
public class Baby {
private final List<String> words;
public Baby(List<String> words) {
this.words = words;
}
public List<String> getWords() {
return List.copyOf(words);
}
public boolean isBabbling(Baby baby, String word) {
for (String babyWord : baby.words) {
word = word.replace(babyWord, " ");
}
return word.isBlank();
}
}
public int solution(String[] babbling) {
Baby musseuk = new Baby(List.of("aya", "ye", "woo", "ma"));
long answer = Arrays.stream(babbling).filter(bab -> musseuk.isBabbling(musseuk, bab)).count();
return Math.toIntExact(answer);
}
내가 원했던건 객체지향적으로 풀고싶었다. 무지성으로 문제를 푸는데에만 집중하지 않고 싶었다.
처음에는 문제를 또 급하게 읽어서 contains => true로 체크했는데 아니였다. 정규표현식을 사용할까 싶었는데, 모든 단어들을 나열하고 싶지 않았다. 결국 마지막으로 작성된 코드인데,
isBabbling 메서드가 객체에 존재하는게 맞는지에 확신이 없다. 일단 저기에 둔건 어떤 비즈니스적인로직(여기까지 생각할 필요는 없지만) 이 존재하는 것이 아니고 그저 그 객체가 가능한지 판단하는 것이라 생각을 했기 때문이다...