(김유선) 프로그래머스 - 옹알이(1)

2024. 5. 29. 12:35JavaScript 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