만드는 중입니다

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

체스판 읽기

면접 대비

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

요약
ASCII 그림으로 주어진 체스판을 읽고 각 진영의 기물을 정해진 종류 순서와 위치 규칙에 따라 표준 기보로 출력한다.
난이도

쉬움10점 중 3점

유형
구현, 문자열, 정렬, 시뮬레이션
정답자
아직 제출이 없습니다

문제

체스판의 말 배치를 그린 그림을 읽어, 표준 체스 표기법으로 출력하세요.

입력

입력은 말이 놓인 체스판을 아스키 아트로 그린 그림입니다. 백(White)의 말은 대문자로, 흑(Black)의 말은 소문자로 표시됩니다. 각 글자는 "K"(킹), "Q"(퀸), "R"(룩), "B"(비숍), "N"(나이트), "P"(폰) 중 하나입니다. 판의 테두리는 더하기("+"), 빼기("-"), 세로줄("|") 문자로 그려집니다. 검은 칸은 콜론(":")으로, 흰 칸은 마침표(".")로 채워집니다.

출력

두 줄을 출력합니다. 첫 번째 줄은 문자열 "White: " 뒤에 백(White)의 말에 대한 설명을 이어 붙입니다. 두 번째 줄은 문자열 "Black: " 뒤에 흑(Black)의 말에 대한 설명을 이어 붙입니다.

설명은 말 하나당 한 항목으로 이루어진, 쉼표로 구분된 목록입니다. 각 항목은 말의 종류를 나타내는 대문자 한 글자("K", "Q", "R", "B", "N"; 폰은 이 글자를 생략)와, 그 바로 뒤에 붙는 표준 체스 표기법의 위치로 이루어집니다. 위치는 열을 나타내는 "a"부터 "h"까지의 소문자("a"는 입력의 가장 왼쪽 열)와, 행을 나타내는 1부터 8까지의 한 자리 숫자(8행은 입력의 맨 윗줄)로 구성됩니다.

각 플레이어의 목록에서 말은 킹("K"), 퀸("Q"), 룩("R"), 비숍("B"), 나이트("N"), 폰의 순서로 나와야 합니다. 말을 잡거나 폰이 승진할 수 있으므로 말의 개수는 초기 배치와 다를 수 있습니다. 같은 종류의 말이 둘 이상 있을 때, 백의 말은 행 번호가 작은 것을 먼저, 흑의 말은 행 번호가 큰 것을 먼저 씁니다. 이런 두 말이 같은 행에 있으면 열 문자가 더 작은 말을 먼저 씁니다.

예제3

  1. 예제 1

    입력
    +---+---+---+---+---+---+---+---+
    |.r.|:::|.b.|:q:|.k.|:::|.n.|:r:|
    +---+---+---+---+---+---+---+---+
    |:p:|.p.|:p:|.p.|:p:|.p.|:::|.p.|
    +---+---+---+---+---+---+---+---+
    |...|:::|.n.|:::|...|:::|...|:p:|
    +---+---+---+---+---+---+---+---+
    |:::|...|:::|...|:::|...|:::|...|
    +---+---+---+---+---+---+---+---+
    |...|:::|...|:::|.P.|:::|...|:::|
    +---+---+---+---+---+---+---+---+
    |:P:|...|:::|...|:::|...|:::|...|
    +---+---+---+---+---+---+---+---+
    |.P.|:::|.P.|:P:|...|:P:|.P.|:P:|
    +---+---+---+---+---+---+---+---+
    |:R:|.N.|:B:|.Q.|:K:|.B.|:::|.R.|
    +---+---+---+---+---+---+---+---+
    
    예상 출력
    White: Ke1,Qd1,Ra1,Rh1,Bc1,Bf1,Nb1,a2,c2,d2,f2,g2,h2,a3,e4
    Black: Ke8,Qd8,Ra8,Rh8,Bc8,Ng8,Nc6,a7,b7,c7,d7,e7,f7,h7,h6
    
  2. 예제 2

    입력
    +---+---+---+---+---+---+---+---+
    |.r.|:n:|.b.|:q:|.k.|:b:|.n.|:r:|
    +---+---+---+---+---+---+---+---+
    |:p:|.p.|:p:|.p.|:p:|.p.|:p:|.p.|
    +---+---+---+---+---+---+---+---+
    |...|:::|...|:::|...|:::|...|:::|
    +---+---+---+---+---+---+---+---+
    |:::|...|:::|...|:::|...|:::|...|
    +---+---+---+---+---+---+---+---+
    |...|:::|...|:::|...|:::|...|:::|
    +---+---+---+---+---+---+---+---+
    |:::|...|:::|...|:::|...|:::|...|
    +---+---+---+---+---+---+---+---+
    |.P.|:P:|.P.|:P:|.P.|:P:|.P.|:P:|
    +---+---+---+---+---+---+---+---+
    |:R:|.N.|:B:|.Q.|:K:|.B.|:N:|.R.|
    +---+---+---+---+---+---+---+---+
    
    예상 출력
    White: Ke1,Qd1,Ra1,Rh1,Bc1,Bf1,Nb1,Ng1,a2,b2,c2,d2,e2,f2,g2,h2
    Black: Ke8,Qd8,Ra8,Rh8,Bc8,Bf8,Nb8,Ng8,a7,b7,c7,d7,e7,f7,g7,h7
    
  3. 예제 3

    입력
    +---+---+---+---+---+---+---+---+
    |.r.|:n:|.b.|:q:|.k.|:b:|.n.|:r:|
    +---+---+---+---+---+---+---+---+
    |:p:|.p.|:::|...|:::|...|:::|.p.|
    +---+---+---+---+---+---+---+---+
    |...|:::|...|:::|...|:::|...|:::|
    +---+---+---+---+---+---+---+---+
    |:::|...|:::|...|:::|...|:::|...|
    +---+---+---+---+---+---+---+---+
    |...|:::|...|:::|...|:::|...|:::|
    +---+---+---+---+---+---+---+---+
    |:::|...|:::|...|:::|...|:::|...|
    +---+---+---+---+---+---+---+---+
    |.P.|:P:|...|:::|...|:::|...|:P:|
    +---+---+---+---+---+---+---+---+
    |:R:|.N.|:B:|.Q.|:K:|.B.|:N:|.R.|
    +---+---+---+---+---+---+---+---+
    
    예상 출력
    White: Ke1,Qd1,Ra1,Rh1,Bc1,Bf1,Nb1,Ng1,a2,b2,h2
    Black: Ke8,Qd8,Ra8,Rh8,Bc8,Bf8,Nb8,Ng8,a7,b7,h7