1. 조건
시간 복잡도는 그렇게 크게 중요해 보이진않았다.
그래서인지 숨어있는 예외를 잘 찾아내고 어떻게 해결할지가 관건인것같다.
2. 풀이과정
최근에 풀어본 문제랑 비슷해서
정규표현식을 사용하지 않더라도 금방 풀 수 있을거라 생각했다.
하 근데 예외처리 하는게 생각 이상으로 까다로웠다...
똑같은 옹알이를 했을 때 어떻게 그 예외를 잡아낼지... 흠 이게 왜 레벨 1?
결국 혼자 못풀었다.
3. 풀이
function solution(babbling) {
const words = ["aya", "ye", "woo", "ma"];
let answer = 0;
babbling.map((babble) => {
words.map((word) => {
if (babble.includes(word.repeat(2))) return;
babble = babble.split(word).join(" ");
});
if (babble.split(" ").join("").length === 0) answer += 1;
});
return answer;
}
solution(["aya", "yee", "u", "maa"]);
solution(["ayaye", "uuu", "yeye", "yemawoo", "ayaayaa"]);
사실 이 코드가 왜 있는지 굉장히 눈치채기 까다로웠다...
왜 join("")이 아닌 join(" ")을 쓰고 이후에 마지막에 합치는 과정을 적었는지...
babble = babble.split(word).join(" ");
if (babble.split(" ").join("").length === 0) answer += 1;
그에 대한 해답은 지문 만 마지막에 있었다
" "으로 나누지 않으면 "wo" 와 "o"가 붙어서 "woo"가 되어버릴 수 있기 때문이다.
이게 왜 레벨 1이냐고... 나도 얼른 레벨 3까지 올라가고싶다고...
갈길이 멀다 화이팅.
'개발이야기 > 알고리즘' 카테고리의 다른 글
[알고리즘] 프로그래머스 푸드 파이트 대회 (0) | 2023.02.03 |
---|---|
[알고리즘] 프로그래머스 햄버거 만들기 (0) | 2023.02.02 |
[알고리즘] 프로그래머스 숫자 문자열과 영단어 (0) | 2023.01.31 |
[알고리즘] 프로그래머스 콜라 문제 (0) | 2023.01.30 |
[알고리즘] 프로그래머스 삼총사 (0) | 2023.01.29 |