교육과정 설계 (큐, 덱)

2023. 6. 1. 22:26·Coding Test/Data Structure
728x90

문제

수업중에는 필수과목이 있습니다. 이 필수과목은 반드시 이수해야 하며, 그 순서도 정해져 있 습니다.
만약 총 과목이 A, B, C, D, E, F, G가 있고, 여기서 필수과목이 CBA로 주어지면 필수과목은 C, B, A과목이며 이 순서대로 꼭 수업계획을 짜야 합니다. 수업계획은 그 순서대로 앞에 수업이 이수되면 다음 수업을 시작하다는 것으로 해석합니다.
필수과목순서가 주어지면 현수가 짠 N개의 수업설계가 잘된 것이면 “YES", 잘못된 것이면 ”NO“를 출력

첫 줄에 한 줄에 필수과목의 순서가 주어집니다. 모든 과목은 영문 대문자입니다.
두 번째 줄에 N(1<=N<=10)이 주어집니다.
세 번 째 줄부터 현수가 짠 N개의 수업설계가 주어집니다.(수업설계의 길이는 30이하이다) 수업설계는 같은 과목을 여러 번 이수하도록 설계해도 됩니다.

CBA
3
CBDAGE
FGCDAB
CTSBDEA

 

풀이

from collections import deque
import sys
input=sys.stdin.readline

need=list(input())
n=int(input())

for i in range(n):
    plan=input()
    queue = deque(need) # 수강 필수 과목
    for x in plan:
        if x in queue:
            if x!=queue.popleft(): # 선수과목이 첫번째 큐 아이템과 다른 경우 (순서 안맞음)
                print("#%d NO" %(i+1))
                break
    else:
        if len(queue)==0: # 큐에 남은 과목이 없는 경우
            print("#%d YES" % (i + 1))
        else:
            print("#%d NO" % (i + 1))

 

 

 

 

728x90
저작자표시 비영리 변경금지 (새창열림)
'Coding Test/Data Structure' 카테고리의 다른 글
  • 파이썬 우선순위 큐, 힙
  • 단어 찾기 (해시, 딕셔너리)
  • 응급실 (큐, 덱)
  • 공주 구하기 (큐, 덱)
Karla Ko
Karla Ko
𝘾𝙤𝙣𝙩𝙞𝙣𝙪𝙤𝙪𝙨𝙡𝙮 𝙄𝙢𝙥𝙧𝙤𝙫𝙞𝙣𝙜, 𝘾𝙤𝙣𝙨𝙩𝙖𝙣𝙩𝙡𝙮 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙞𝙣𝙜 𝙔𝙚𝙨!
    250x250
  • Karla Ko
    karlaLog
    Karla Ko
  • 전체
    오늘
    어제
    • Total (467)
      • Spring (19)
      • JPA (4)
      • Cloud & Architecture (15)
        • Kubernetes (5)
        • Docker (3)
        • MSA (2)
        • GCP (1)
        • AWS (4)
      • Devops (1)
      • Message Queue (4)
        • Kafka (2)
        • RabbitMQ (2)
      • Git (4)
      • DB (4)
      • Java (9)
      • Python (4)
      • CS (11)
        • OS (8)
        • Network (2)
        • Algorithm (1)
      • Coding Test (392)
        • programmers (156)
        • Graph (43)
        • DP (37)
        • Search (31)
        • Tree (13)
        • Data Structure (26)
        • Combination (12)
        • Implement (18)
        • Geedy (23)
        • Sort (7)
        • Math (21)
        • geometry (2)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    플로이드워셜
    큐
    구간합
    Algorithm
    최대공약수
    백준
    덱
    구현
    프로그래머스
    동적계획법
    재귀
    그래프
    조합
    BFS
    최소신장트리
    힙
    이분탐색
    트리
    파이썬
    알고리즘
    그리디
    다익스트라
    DP
    LIS
    최단거리
    월간코드챌린지
    자료구조
    정렬
    DFS
    스택
  • hELLO· Designed By정상우.v4.10.3
Karla Ko
교육과정 설계 (큐, 덱)
상단으로

티스토리툴바