👀 문제
https://school.programmers.co.kr/learn/courses/30/lessons/159994
👊 도전
1. 설계
- 문제 설명대로 구현
2. 구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
fun solution(cards1: Array<String>, cards2: Array<String>, goal: Array<String>): String {
var answer: String = ""
var i1 = 0
var i2 = 0
for (i in goal.indices) {
val item = goal[i]
if (i1 < cards1.size && cards1[i1] == item) i1++
else if (i2 < cards2.size && cards2[i2] == item) i2++
else return "No"
}
return "Yes"
}
}
3. 결과
🤟 성공 🤟
4. 설명
- cards1, cards2 인덱스를 두고 goal과 같은지 체크한다
- goal을 순회하면서 cards1, cards2의 각 인덱스에 속하는 값으로 가능하다면 continue, 아니라면 No를 리턴한다.
- goal의 for문을 모두 돌았다면 가능하다는 뜻이므로 Yes를 리턴한다.