본문 바로가기

 𝗔𝗣𝗣𝗟𝗘/ALGORITHM

[내일배움캠프] 데일리 루틴(iOS_3회차) - 카드 뭉치

 

이미지를 클릭하면 코딩테스트 페이지로 이동합니다

 

내 풀이

import Foundation

func solution(_ card1:[String], _ card2:[String], _ array:[String]) -> String {
    var cards1 = 0
    var cards2 = 0


    for i in array {
        if cards1 != card1.count && card1[cards1] == i {
            if cards1 < card1.count-1{
                cards1 += 1
            }
        }
        else if cards2 != card2.count && card2[cards2] == i{
            if cards2 < card2.count-1{
                cards2 += 1
            }
        }
        else{
            return "No"
        }
    }

    return "Yes"
}

 

 

- 함수의 입력 매개변수: card1, card2, array (세 개의 문자열 배열)

- cards1, cards2는 각각 card1, card2에서 현재까지 사용한 단어의 인덱스를 나타냄

- array 배열을 순회

   1. cards1card1의 길이보다 작고, card1[cards1]이 현재의 단어와 일치할 경우

   → cards1card1의 마지막 인덱스가 아니라면, cards1 1 증가

   2. cards2card2의 길이보다 작고, card2[cards2]가 현재의 단어와 일치할 경우

   → cards2card2의 마지막 인덱스가 아니라면, cards2 1 증가

- 위의 두 경우가 모두 해당하지 않는다면 No 반환

- 반복문 모두 수행 후 Yes 반환

 

 

 

Recent Posts
Visits
Today
Yesterday
Archives
Calendar
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31