반응형
문제 풀이
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
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 바탕화면 정리 JS (0) | 2023.03.05 |
---|---|
[프로그래머스] 미로 탈출 JS (1) | 2023.03.05 |
[프로그래머스] 대충 만든 자판 JS (0) | 2023.03.01 |
[프로그래머스] 보석 쇼핑 Python (0) | 2022.03.05 |
[프로그래머스] 후보키 Python (0) | 2022.03.01 |