이번에는 프로그래머스에서 옹알이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;
}
}