[Programmers][Java] 옹알이(1)

HyeBin, Park·2023년 1월 23일
0

Programmers

목록 보기
24/26

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 메서드가 객체에 존재하는게 맞는지에 확신이 없다. 일단 저기에 둔건 어떤 비즈니스적인로직(여기까지 생각할 필요는 없지만) 이 존재하는 것이 아니고 그저 그 객체가 가능한지 판단하는 것이라 생각을 했기 때문이다...

0개의 댓글