BoJ 25850 - A Game Called Mind [with Python / 문제 한국어로 번역]

ssook·2023년 9월 2일
0

BoJ 문제기록

목록 보기
7/29

📍 문제

문제

이 문제는 마인드라는 게임의 간소화된 버전을 다룹니다.
이 게임은 하나의 그룹이 함께 문제를 해결하는 식으로 진행됩니다.

게임의 룰을 아래처럼 가정하겠습니다 :

  • 2에서 6명의 플레이어가 있습니다. (A, B, C, D, E, F라고 가정하겠습니다.)
  • 각 플레이어는 1에서 9장의 카드를 정렬된 순서대로 가지고 있습니다.
  • 각 카드 값은 10 이상 99 이하의 값 입니다.
  • 중복된 값은 없습니다. 즉, 카드(숫자)는 한 손에 하나씩 있다고 보면 됩니다.

게임의 목표는 모든 플레이어가 카드를 정렬된 순서대로 내려놓는 것입니다.
(실제 게임에서 플레이어는 자신의 카드를 보지 못합니다. 그래서 이 게임의 이름이 마인드라고 불립니다.)
각 플레이어의 손에 있는 카드가 주어졌을 때, 당신은 플레이어들에게 카드를 내려놓을 순서를 올바르게 알려줘야 합니다!

입력

첫 번째 입력 줄에는 플레이어 수를 나타내는 정수 pp (2 ≤ p ≤ 6)가 주어집니다.
이어지는 p개의 입력 줄 각각은 한 플레이어가 가지고 있는 카드들을 알려줍니다.
각 줄은 그 플레이어가 가진 카드 수를 나타내는 정수 cc (1 ≤ c ≤ 9)로 시작하며,
그 뒤에 정렬된 순서대로 나열된 카드가 포함되어 있습니다. (각 카드는 10에서 99 사이의 값을 가집니다.)

출력

각 플레이어가 가진 카드가 순서대로 정렬되도록 플레이어가 카드를 내려놓을 순서를 출력합니다.


📍 아이디어

정말 단순 sorting 문제.
순서대로 값을 받아 플레이어의 각 순서를 알파벳에 매핑하여 이차원 배열에 저장 후,
그 배열을 정렬하여 문제를 풀었다.


📍 제출 코드

t = int(input())
score = []

for i in range(1, t+1):
  card = list(map(int, input().split(" ")))
  card = card[1:]
  
  if i == 1:
    for num in card:
      score.append(['A', num])
  
  if i == 2:
    for num in card:
      score.append(['B', num])

  if i == 3:
    for num in card:
      score.append(('C', num))

  if i == 4:
    for num in card:
      score.append(['D', num])

  if i == 5:
    for num in card:
      score.append(['E', num])

  if i == 6:
    for num in card:
      score.append(['F', num])

score.sort(key = lambda x:x[1])
  
for res in score:
  print(*res[0], end='')
profile
개발자에서, IT Business 담당자로. BrSE 업무를 수행하고 있습니다.

0개의 댓글