문제
내 정답 코드
import Foundation
func solution(_ cards1:[String], _ cards2:[String], _ goal:[String]) -> String {
var cards1 = cards1
var cards2 = cards2
for word in goal {
if cards1.first == word {
cards1.removeFirst()
continue
} else if cards2.first == word {
cards2.removeFirst()
} else {
return "No"
}
}
return "Yes"
}
#
1. goal 배열을 반복문을 돌려 앞 문자열부터 확인한다.
2. 카드1, 2의 단어를 활용하고 순차적으로 문장을 만들어야 하기 때문에 first와 removeFirst 방법을 선택했다.
3. goal문자열이 card1, 2 맨 앞에 없으면 순차적으로 문장을 만들 수 없기 때문에 No를 반환한다.
4. 카드의 맨 앞 문자열만 사용하면서 goal문자열 배열을 완성할 수 있으면 Yes를 반환한다.
배운 기술
'프로그래머스 (Swift) > lv 1' 카테고리의 다른 글
[lv1] 추억 점수 (0) | 2024.06.12 |
---|---|
[lv1] 문자열 나누기 (0) | 2024.06.02 |
[lv1] 기사단원의 무기 (1) | 2024.06.02 |
[lv1] 가장 가까운 같은 글자 (0) | 2024.06.02 |
[lv1] 크기가 작은 부분 문자열 (0) | 2024.06.02 |