본문 바로가기

코테

코테 - 연습문제 - 카드뭉치

코드안에 if문이 없으면 테스트케이스 20,21,24 세가지를 못 통과

하지만 if문을 넣어주면 24번만 못 통과한다..... 

 

질문을 하였더니 친절한 분께서 반례를 들어주셨다

["i", "drink", "water"], ["want", "to", "juice"], ["i", "want", "to", "drink", "water"] 얘의 테스트 케이스를 통과하지 못한것

 

function solution(cards1, cards2, goal) {
    let index
    let origin = 0
    let card2 = 0
    let answer = "Yes"
    cards1.forEach((word)=>{
        index = goal.indexOf(word)
      index>=origin?origin = index : answer="No"
    })

    cards2.forEach((word)=>{
        index = goal.indexOf(word)
        index>=card2?card2 = index:answer="No"
    })
    
    if(goal.length==cards1.length || goal.length==cards2.length) return answer ="Yes"
    
   return answer
}

 

결국 다른 방법으로 작성

function solution(cards1, cards2, goal) {
    let answer = "Yes"
    for(let word of goal){
        if(cards1[0]===word){
            cards1.shift()
        }else if(cards2[0]===word){
            cards2.shift()
        }else{
            return answer="No"
        }
    }
   return answer
}

 

 

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

'코테' 카테고리의 다른 글