[Programmers] 옹알이2(Java)

이동기·2024년 10월 9일
1

이번에는 프로그래머스에서 옹알이2 문제를 풀어보았습니다.

기존 옹알이 문제에서 연속된 문자열이 나올 수 없다는 조건만 추가된 것이라 기존 저의 풀이 코드에서 해당 코드만 추가해서 해결하였습니다.

코딩테스트를 하다보면 주어진 코드에서 몇줄만 추가하거나 변경해서 요구사항을 만족해야하는 문제가 가끔 나오는데 딱 그 느낌이었습니다.

연속된 문자열이 나올 수 없다는 것이니 몇번 연속되는지 중요치않고 2개만 연속해서 나오는 경우가 문자열에 포함되어 있다면 바로 패스해버렸습니다.


[기존 문제]
주어진 String 배열 ["aya", "ye", "woo", "ma"]의 조합으로 주어진 파라미터에서 가능한 옹알이 개수를 검증(연속된 옹알이 가능)

[옹알이2 문제]
주어진 String 배열 ["aya", "ye", "woo", "ma"]의 조합으로 주어진 파라미터에서 가능한 옹알이 개수를 검증(연속된 옹알이 불가능)


[코드 전체]

public class Solution {
    public int solution(String[] babbling) {
        Set<String> set = Set.of("aya", "ye", "woo", "ma");

        int answer = 0;
        for (String target : babbling) {
            if (set.contains(target)) {
                answer++;
            } else {
                for (String val : set) {
                    if (target.contains(val + val)) { // 추가된 부분
                        continue;
                    }

                    target = target.replace(val, " ");
                }

                if (target.trim().isEmpty()) {
                    answer++;
                }
            }
        }

        return answer;
    }
}
profile
개발자가 되고 싶은 '개'발자입니다. https://github.com/lee-dong-gi

0개의 댓글