점자로
면접 대비시간 제한1초메모리 제한128 MB
정해진 숫자-점자 대응표를 이용해 숫자열을 점자 셀로, 또는 세 줄의 점자 셀을 숫자열로 변환한다.
문제
1825년 루이 브라유가 고안한 점자 체계는 시각 장애인의 문자 소통 방식을 크게 바꾸어 놓았다. 자신도 시각 장애인이었던 브라유는 각 기호를 세 행과 두 열로 배열된 여섯 개의 점 위치로 이루어진 하나의 칸(cell)으로 나타내는 촉각 문자 체계를 만들었다. 각 점 위치는 볼록한(raised) 상태이거나 평평한(flat) 상태이므로, 훈련된 손끝으로 읽을 수 있는 64가지 배열이 가능하다.
십진 숫자로만 이루어진 메시지를 점자로, 또는 점자에서 숫자로 변환하는 점자 사전 모듈을 만들어야 한다. 각 십진 숫자는 아래와 같이 정확히 하나의 점자 칸에 대응한다. 볼록한 점은 *, 평평한 점은 .로 나타내며, 각 칸은 두 글자씩 세 행으로 표기한다.
숫자 1행 2행 3행
0 .* ** ..
1 *. .. ..
2 *. *. ..
3 ** .. ..
4 ** .* ..
5 *. .* ..
6 ** *. ..
7 ** ** ..
8 *. ** ..
9 .* *. ..
숫자로만 이루어진 메시지가 주어지면, 이를 점자로 또는 점자에서 숫자로 변환하라.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 세 줄 또는 다섯 줄로 주어진다.
- 첫 번째 줄에는 메시지에 포함된 숫자의 개수 가 주어진다 ().
- 두 번째 줄에는 대문자
S또는B가 하나 주어진다.S이면, 다음 한 줄에 점자로 변환해야 할 개의 십진 숫자로 이루어진 메시지가 주어진다.B이면, 다음 세 줄에 숫자로 변환해야 할 개의 점자 칸으로 이루어진 메시지가 주어진다. 각 줄에서 칸은 하나의 공백으로 구분되며, 칸 안에서 볼록한 점은*, 평평한 점은.로 표기된다.
입력의 마지막에는 숫자 0 하나만 있는 줄이 오며, 이 줄은 테스트 케이스가 아니다.
출력
각 테스트 케이스에 대해, 변환된 메시지를 입력과 같은 형식으로 출력한다.
- 테스트 케이스가
S였다면 (숫자 → 점자), 개의 점자 칸을 세 줄로 출력하며, 칸은 하나의 공백으로 구분한다. - 테스트 케이스가
B였다면 (점자 → 숫자), 개의 십진 숫자를 한 줄로 출력한다.