본문 바로가기
Algorithm/스택&큐&덱&힙

[프로그래머스 lv 1] 카드 뭉치

by HANNI하니 2023. 4. 24.

사용 언어 - Python3

문제 - 카드 뭉치

 

프로그래머스

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

programmers.co.kr

 

 

정답

큐를 활용 (정답 맞춘 여부 O)

cards1과 cards2를 deque로 저장하여

맨 왼쪽 값과 값이 같을 경우, popleft()로 없애준다.

큐 값이 있을 경우에만 popleft()를 해줘야하기 때문에, if card1을 꼭 적어줘야한다

 

from collections import deque

def solution(cards1, cards2, goal):
    card1 = deque(list(cards1))
    card2 = deque(list(cards2))
    
    for g in goal:
        if card1 and g == card1[0]:
            card1.popleft()
        elif card2 and g == card2[0]:
            card2.popleft()
        else:
            return "No"

    return "Yes"

 

 

 

레퍼런스

  • 정답 참고
 

프로그래머스 카드 뭉치

문제 설명 코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니

inspirer9.tistory.com

  • 정답 깃허브
 

GitHub - yyeongeun/codingtest: 코딩테스트 공부

코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.

github.com

 

댓글