Skip to content

[Algorithm] 카드 뭉치 #120

Closed
Closed
@hwangJi-dev

Description

@hwangJi-dev

💬 문제

카드 뭉치


💬 Idea

  1. cards1, cards2 stack을 만든다.
  2. cards1, cards2의 원소를 차례로 target1,2로 뽑아둔 후 goal을 돌면서 해당 target에 일치할 경우 일치하는 카드 뭉치의 원소를 뽑고 다음 target으로 만들어준다
    • 이 때 해당 target과 g가 일치하지 않는다면 카드 뭉치에 없는 카드로 만들어졌거나, 카드 순서가 일치하지 않는다는 것이므로 “No”를 리턴한 후 종료한다.

💬 풀이

func solution(cards1:[String], cards2:[String], goal:[String]) -> String {
    var cards1 = cards1.reversed().map({ String($0) })
    var cards2 = cards2.reversed().map({ String($0) })
    var target1 = cards1.popLast()
    var target2 = cards2.popLast()
    
    for g in goal {
        if g == target1 {
            target1 = cards1.popLast()
        } else if g == target2 {
            target2 = cards2.popLast()
        } else {
            return "No"
        }
    }
    
    return "Yes"
}

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions