Phone Key Pad
30分プログラム、その745。anarchy golf - Phone Key Padをやってみました。
問題の背景がよく分かんないんですが、変換表に従ってアルファベットを数字に変換する問題らしいです。
使い方
gosh> (string->key-pad "Ruby") "7829" gosh> (string->key-pad "Scheme") "724363"
ソースコード
#! /opt/local/bin/gosh ;; -*- mode:scheme; coding:utf-8 -*- (use srfi-1) (use srfi-13) (define *key-pads* '((#\1 "1+") (#\2 "2ABCabc") (#\3 "3DEFdef") (#\4 "4GHIghi") (#\5 "5JKLjkl") (#\6 "6MNmn") (#\7 "7PRSprs") (#\8 "8TUVtuv") (#\9 "9WXYwxy") (#\* "*-") (#\0 "0OQZoqz") (#\# "#"))) (define (alpha->key-pad c) (any (lambda (key) (if (string-index (second key) c) (first key) #f)) *key-pads*)) (define (string->key-pad s) (string-map alpha->key-pad s))