Programmers

[프로그래머스][JS] 카드 뭉치 ✅

winter17 2023. 9. 7. 23:15

https://school.programmers.co.kr/learn/courses/30/lessons/159994

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이 과정

function solution(cards1, cards2, goal) {
    for (const char of goal){
        if (cards1[0] === char){
            cards1.shift()
        }else if (cards2[0] === char){
            cards2.shift()
        }else{
            return 'No'
        }
    }
    return 'Yes'
}

goal배열의 요소를 하나씩 꺼내서 cards1, 2 배열의 가장 앞의 요소와 일치하는지 확인하고 일치하면 제거하고

일치하지 않는다면 'No'를 반환하는 방식의 조건문을 작성하였다.

모든 반복이 끝나고 조건문을 통과했다면 'Yes'를 반환한다. 

// 25번 케이스 
cards1 = ['a', 'b', 'c']
cards2 = ['d', 'e']
goal = ['b', 'c', 'd', 'e']
// 'No'

리뷰

2시간 넘게 12, 25번 케이스를 해결 못해서 검색을 해봤는데 정말 단순한 풀이 방법을 보고 자괴감이 들었다...