-
[프로그래머스 Level 1] 카드 뭉치 (JavaScript)Coding Test/JavaScript 2024. 11. 25. 17:10
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/159994
입출력 예
cards1 cards2 goal result ["i", "drink", "water"] ["want", "to"] ["i", "want", "to", "drink", "water"] "Yes" ["i", "water", "drink"] ["want", "to"] ["i", "want", "to", "drink", "water"] "No" 풀이
function solution(cards1, cards2, goal) { for(const word of goal) { if(cards1[0] === word) { cards1.shift(); } else if(cards2[0] === word) { cards2.shift(); } else { return "No"; } } return "Yes"; }
함수 solution은 세 개의 매개변수를 받는다.
1. 한 개의 카드 뭉치, 각각의 배열의 첫 번째 단어만 사용 가능함 = cards1
2. 한 개의 카드 뭉치, 각각의 배열의 첫 번째 단어만 사용 가능함 = cards2
3. 목표 배열, 이 배열의 단어를 주어진 순서대로 만들어야 함 = goal
for 루프를 통해 goal 배열의 각 단어(word)를 순서대로 순회시키고,
if문과 else if문을 통해 두 개의 카드뭉치의 맨 앞 단어가 현재 단어와 일치하면 제거(shift()) 시킨다.
어느 카드 뭉치에도 없다면 "No"를 반환하고 종료한다.
모든 단어를 처리하면 성공, "Yes"를 반환한다.
'Coding Test > JavaScript' 카테고리의 다른 글
[프로그래머스 Level 1] 2016년 (JavaScript) (0) 2024.12.02 [프로그래머스 Level 1] 폰켓몬 (JavaScript) (0) 2024.11.25 [프로그래머스 Level 1] 추억 점수 (JavaScript) (0) 2024.11.25 [프로그래머스 Level 1] 명예의 전당 (1) (JavaScript) (0) 2024.11.25 [프로그래머스 Level 1] [1차] 비밀지도 (JavaScript) (0) 2024.11.25