Lấy cảm hứng từ tin nhắn trò chuyện này
Nhiệm vụ của bạn sẽ là lấy một từ và tìm vị trí trung bình của các chữ cái trên bàn phím dưới dạng một chữ cái.
Bố trí bàn phím
Vì bố cục thay đổi từ bàn phím sang bàn phím, chúng tôi sẽ sử dụng một tiêu chuẩn dựa trên bàn phím của riêng tôi trong câu hỏi này.
Bàn phím có 3 hàng, hàng trên cùng từ trái sang phải chứa các phím
QWERTYUIOP
Hàng thứ hai chứa các chữ cái
ASDFGHJKL
Hàng cuối cùng chứa
ZXCVBNM
Mỗi chữ cái là 1 đơn vị nằm ngang từ hàng xóm của nó sang bên trái. Điều này có nghĩa W
là cách xa 1 Q
và E
cách xa 1 W
.
Các phím ở đầu mỗi hàng có các vị trí:
Q : 0,0
A : 1/3,1
Z : 2/3,2
Điều này có nghĩa là các hàng được phân tách một đơn vị theo chiều dọc và hai hàng dưới cùng được dịch chuyển một phần ba so với hàng phía trên chúng.
Bạn nên lấy một từ làm đầu vào và xuất chữ cái gần nhất với vị trí trung bình của các chữ cái trong từ đó. Trung bình của một tập các vectơ là
(average x value, average y value)
Khi hai khóa tương đương với mức trung bình, bạn có thể xuất ra dưới dạng khóa "gần nhất".
Đây là mã golf vì vậy câu trả lời sẽ được ghi bằng byte với ít byte hơn.
Giải pháp ví dụ
Hãy tính trung bình của APL
.
Chúng tôi chuyển đổi mỗi chữ cái thành một vector
A -> (1/3,1)
P -> (9,0)
L -> (8 1/3,1)
Chúng tôi thêm chúng lên ba vectơ để có được (17 2/3, 2)
. Sau đó chúng tôi chia mỗi tọa độ cho 3 (Số lượng chữ cái trong từ) để có được (5 8/9, 2/3)
.
Bức thư gần (5 8/9, 2/3)
là J
lúc (6 1/3,1)
nên kết quả của chúng tôi là J
.
Các trường hợp thử nghiệm
APL -> J
TEXT -> R
PPCG -> J
QQQQ -> Q
ZZZZ -> Z
PPPP -> P
MMMM -> M
QQSS -> A or W