문자열로 이루어진 배열 cards1, cards2와 원하는 단어 배열 goal이 매개변수로 주어질 때, cards1과 cards2에 적힌 단어들로 goal를 만들 수 있다면 "Yes"를, 만들 수 없다면 "No"를 return하는 solution 함수를 작성하는 문제이다.
cards1 배열과 cards2 배열에 대해 0으로 초기화한 변수 one, two를 선언하여 단어를 사용하였다면 one이나 two에 +1하여, 다음 goal 단어 검색 시 사용한 단어 다음 단어를 검색하도록 한다.
class Solution {
public String solution(String[] cards1, String[] cards2, String[] goal) {
String answer = "Yes";
int one = 0;
int two = 0;
int i = 0;
while(i < goal.length) {
if (one < cards1.length && goal[i].equals(cards1[one])) {
one++;
} else if (two < cards2.length && goal[i].equals(cards2[two])) {
two++;
} else {
answer = "No";
break;
}
i++;
}
return answer;
}
}