2024. 5. 29. 12:35ㆍJavaScript PS
문제 정의
입력된 배열에서 "aya", "ye", "woo", "ma" 들이 최대 1번씩만 포함돼서 이것들로만 이루어진 문자의 개수를 내뱉어야 한다.
문제 풀이
나는 먼저 당장의 비교를 통해 완전히 같은 것은 if문을 통해 +1 하고 그렇지 않은 것들은 또다른 비교를 해가면서 처리하려고 했다.
그런데 특정 문자들을 한번씩만 포함하고, 특정 문자로만 이루어졌는지를 판단하는 방법을 몰랐다...
그래서 노가다로 모든 합쳐질 경우를 계산했는데,,, 시간 부족 ㅠ
코딩
babbling = ["aya", "yee", "u", "maa", "wyeoo"]
function solution(babbling) {
let answer = 0;
let able = ['aya','ye', 'woo', 'ma']
let able2 = [able[0]+able[1], able[0]+able[2], able[0]+able[3],
able[1]+able[0], able[1]+able[2], able[1]+able[3],
able[2]+able[0], able[2]+able[1], able[2]+able[3],
able[3]+able[0], able[3]+able[1], able[3]+able[2],
able[0]+able[1]+able[2], able[0]+able[1]+able[3],
able[0]+able[2]+able[1], able[0]+able[2]+able[3],
able[0]+able[3]+able[1], able[0]+able[3]+able[2],
able[1]+able[0]+able[2], able[1]+able[0]+able[3],
able[1]+able[2]+able[3], able[1]+able[2]+able[0],
able[1]+able[3]+able[2], able[1]+able[3]+able[0],
able[2]+able[0]+able[1], able[2]+able[0]+able[3],
able[2]+able[1]+able[0], able[2]+able[1]+able[3],
able[2]+able[3]+able[0], able[2]+able[3]+able[1],
able[3]+able[0]+able[1], able[3]+able[0]+able[2],
able[3]+able[1]+able[2], able[3]+able[1]+able[0],
able[3]+able[2]+able[0], able[3]+able[2]+able[1],
able[0]+able[1]+able[2]+able[3], able[0]+able[1]+able[3]+able[2],
able[0]+able[2]+able[3]+able[1], able[0]+able[2]+able[1]+able[3],
able[0]+able[3]+able[2]+able[1], able[0]+able[3]+able[1]+able[2],
able[1]+able[0]+able[2]+able[3], able[1]+able[0]+able[3]+able[2],
able[1]+able[2]+able[3]+able[0], able[1]+able[2]+able[0]+able[3],
able[1]+able[3]+able[2]+able[0], able[1]+able[3]+able[0]+able[2],
able[2]+able[0]+able[1]+able[3], able[2]+able[0]+able[3]+able[1],
able[2]+able[1]+able[3]+able[0], able[2]+able[1]+able[0]+able[3],
able[2]+able[3]+able[1]+able[0], able[2]+able[3]+able[0]+able[1],
able[3]+able[0]+able[2]+able[1], able[3]+able[0]+able[1]+able[2],
able[3]+able[2]+able[1]+able[0], able[3]+able[2]+able[0]+able[1],
able[3]+able[1]+able[2]+able[0], able[3]+able[1]+able[0]+able[2]
]
for(i=0; i<babbling.length; i++){
if(babbling[i]==able[0]||babbling[i]==able[1]||babbling[i]==able[2]||babbling[i]==able[3]){
answer++;
}
else{
for(j=0; j<able2.length; j++){
if(able2[j]==babbling[i]){
answer++;
}
}
}
return answer;
}
후기
그래서 내일 이어서 해야겠다 ㅎ
'JavaScript PS' 카테고리의 다른 글
(장준영) 프로그래머스 - 옹알이(1) (1) | 2024.05.29 |
---|