만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

친구와 함께하는 Wordle

면접 대비

시간 제한1초메모리 제한1024 MB

요약
추측 단어마다 G, Y, - 피드백이 주어질 때, 모든 피드백과 맞는 후보 단어를 입력 순서대로 출력합니다.
난이도

쉬움10점 중 3점

유형
시뮬레이션, 문자열, 완전 탐색
정답자
아직 제출이 없습니다

문제

Zoe와 친구들은 Wordle을 함께 즐긴다. Wordle은 Josh Wardle이 만들었고 지금은 New York Times가 소유하고 있다. 이들은 매일 나오는 퍼즐을 협력해서 풀기로 했다.

Wordle에서 플레이어는 숨겨진 5글자 단어를 여섯 번의 시도 안에 맞혀야 한다. 추측할 때마다 시스템은 각 글자에 세 가지 피드백 색 중 하나를 표시한다.

  1. Green: 이 글자는 단어에 있고, 이 위치에 있다.
  2. Yellow: 이 글자는 단어에 있지만, 이 위치에는 없다.
  3. Gray: 이 글자는 숨겨진 단어에 없다(중복 글자는 예외이며, 아래를 참고한다).

중복 글자는 따로 주의해야 한다. 먼저 Green 글자에 표시한다. 어떤 글자에 대해 숨겨진 단어에서 Green이 아닌 출현 횟수를 XX, 추측한 단어에서 Green이 아닌 출현 횟수를 YY라고 하자. 이 글자의 Green이 아닌 출현 중 가장 왼쪽의 min⁡(X,Y)\min(X,Y)개는 Yellow로 표시하고, 나머지는 Gray로 표시한다.

예를 들어 숨겨진 단어가 FREED이고 추측한 단어가 GEESE라면, 세 번째 글자인 두 번째 E는 Green이다. GEESE의 두 번째와 다섯 번째 글자인 첫 번째 E와 세 번째 E는 각각 Yellow와 Gray가 된다.

추측 가능한 단어 목록이 주어질 때, 지금까지의 추측에 비추어 아직 유효한 단어가 무엇인지 찾아라.

입력

첫 줄에 두 정수 NN (1≤N≤101 \leq N \leq 10)과 WW (1≤W≤1041 \leq W \leq 10^4)가 주어진다. NN은 추측 횟수이고, WW는 추측 가능한 단어의 개수이다.

다음 NN개 줄에는 각각 5글자 문자열 두 개 gg와 ff가 주어진다. gg는 대문자 영어 알파벳으로만 이루어진 추측 단어이며, 추측 가능한 단어 목록에 있다. ff는 gg에 대한 피드백이며 G, Y, -로 이루어져 있다. 각각 Green, Yellow, Gray를 뜻한다.

마지막 WW개 줄에는 추측 가능한 단어가 주어진다. 각 줄은 대문자 영어 알파벳 5글자 문자열이며, 모든 단어는 서로 다르다.

출력

추측 가능한 단어 목록에 나온 순서대로 유효한 단어를 모두 출력한다. 유효한 단어는 항상 하나 이상 있다.

예제4

  1. 예제 1

    입력
    2 5
    BERRY -G---
    APPLE ---YY
    MELON
    BERRY
    LEMON
    LIMES
    APPLE
    
    예상 출력
    MELON
    LEMON
    
  2. 예제 2

    입력
    3 5
    BERRY -G---
    APPLE ---YY
    LIMES G-GY-
    APPLE
    BERRY
    LEMON
    LIMES
    MELON
    
    예상 출력
    LEMON
    
  3. 예제 3

    입력
    3 5
    BLANK --Y--
    SIGHS ----G
    STORM YGG-Y
    ATOMS
    BLANK
    MOATS
    SIGHS
    STORM
    
    예상 출력
    ATOMS
    
  4. 예제 4

    입력
    4 5
    FRUIT -G--Y
    NUTTY --Y--
    ROOTS Y--YG
    SEEDS -YG-G
    FRUIT
    NUTTY
    ROOTS
    SEEDS
    TREES
    
    예상 출력
    TREES