알고리즘/프로그래머스
[프로그래머스] 카드 뭉치 JS
무명 씨
2023. 3. 1. 20:15
반응형
문제 풀이
1. dfs를 이용하여 cards1의 첫번째 요소와 goal의 첫번째 요소가 같은 경우, cards2의 첫번째 요소와 goal의 첫번째 요소가 같은 경우에 대하여 탐색합니다.
2. cards1[2]의 첫번째 요소와 goal의 첫번째 요소가 같은 경우는 cards1[2]과 goal의 첫번째 요소를 제거한 후에 다시 dfs를 호출해줍니다.
3. goal의 모든 요소가 제거되는 경우에는 'Yes'를, cards1과 cards2의 첫번째 요소 중 어느것도 goal의 첫번째 요소와 같지 않은 경우에는 'No'를 반환합니다.
JS Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
//https://school.programmers.co.kr/learn/courses/30/lessons/159994
function solution(cards1, cards2, goal) {
return dfs(cards1, cards2, goal);
}
function dfs(cards1, cards2, goal){
if ( goal.length == 0){
return 'Yes'
}
if ( cards1[0] == goal[0]){
return dfs(cards1.slice(1), cards2, goal.slice(1));
}
if ( cards2[0] == goal[0]){
return dfs(cards1, cards2.slice(1), goal.slice(1));
}
return 'No'
};
|
cs |
문제 링크
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
반응형