아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

킹

면접 대비

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

요약
8x8 체스판에서 킹을 주어진 명령대로 움직인다. 킹이 돌이 있는 칸으로 가면 돌은 같은 방향으로 한 칸 밀리며, 판을 벗어나면 그 명령을 무시한다.
난이도

쉬움10점 중 3점

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

문제

8×8 크기의 체스판에 킹 하나와 돌 하나가 놓여 있다. 체스판의 위치는 알파벳 하나와 숫자 하나로 나타낸다. 알파벳은 열을 뜻하며, 가장 왼쪽 열은 A, 가장 오른쪽 열은 H이다. 숫자는 행을 뜻하며, 가장 아래 행은 1, 가장 위 행은 8이다. 예를 들어 A1은 왼쪽 아래 모서리이고, B1은 그 오른쪽 칸이다.

킹은 다음과 같이 움직일 수 있다.

  • R: 한 칸 오른쪽으로
  • L: 한 칸 왼쪽으로
  • B: 한 칸 아래로
  • T: 한 칸 위로
  • RT: 오른쪽 위 대각선으로 한 칸
  • LT: 왼쪽 위 대각선으로 한 칸
  • RB: 오른쪽 아래 대각선으로 한 칸
  • LB: 왼쪽 아래 대각선으로 한 칸

킹이 돌이 있는 칸으로 이동하면, 돌도 킹이 움직인 방향과 같은 방향으로 한 칸 밀린다.

입력으로 주어진 이동 명령을 순서대로 처리한다. 어떤 명령 때문에 킹이나 돌이 체스판 밖으로 나가게 된다면, 그 명령은 수행하지 않고 다음 명령으로 넘어간다.

모든 명령을 처리한 뒤 킹과 돌의 마지막 위치를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 킹의 위치, 돌의 위치, 이동 횟수 N이 주어진다. 둘째 줄부터 N개의 줄에는 킹의 이동 명령이 하나씩 주어진다. N은 50 이하의 자연수이고, 각 이동 명령은 위에 적힌 8가지 중 하나이다.

출력

첫째 줄에 킹의 마지막 위치를, 둘째 줄에 돌의 마지막 위치를 출력한다.

예제6

  1. 예제 1

    입력
    A1 A2 5
    B
    L
    LB
    RB
    LT
    
    예상 출력
    A1
    A2
    
  2. 예제 2

    입력
    A1 H8 1
    T
    
    예상 출력
    A2
    H8
    
  3. 예제 3

    입력
    A1 A2 1
    T
    
    예상 출력
    A2
    A3
    
  4. 예제 4

    입력
    A1 A2 2
    T
    R
    
    예상 출력
    B2
    A3
    
  5. 예제 5

    입력
    A8 B7 18
    RB
    RB
    RB
    RB
    RB
    RB
    RB
    RB
    RB
    RB
    RB
    RB
    RB
    RB
    RB
    RB
    RB
    RB
    
    예상 출력
    G2
    H1
    
  6. 예제 6

    입력
    C1 B1 3
    L
    T
    LB
    
    예상 출력
    B2
    A1