LoginSignup
3
3

More than 5 years have passed since last update.

新人プログラマ用練習問題「i18nやk8sを作ってみよう」

Posted at

はじめに

  • 新人プログラマ用の練習問題を思いついたので載せます
  • 新人の方は是非解いてみてください
  • ベテランの方は新人教育などに使ってください

numeronym(ヌメロニム)とは

i18nやk8sのような数略語のこと
wikipedia
numeronym (数略語)のまとめ -- I18n、L10n、M17n、etc.

問題

「internationalization」を渡したら「i18n」を返す
「kubernetes」を渡したら「k8s」を返す
ようなget_numeronym関数を作成してください
言語は自由です
※なお、文字列以外が来るケースや1文字が来るケースなどは考慮しなくて良いものとする

回答例

js版
function get_numeronym(word){
  return word[0]+(word.length-2)+word[word.length-1];
}
or
function get_numeronym(word){
  return word.slice(0,1)+(word.length-2)+word.slice(-1)
}
ruby版
def get_numeronym word
  word.slice(0) + (word.size-2).to_s + word.slice(-1)
end
php版
<?php
function get_numeronym(string $word){
    return substr($word, 0, 1) . (strlen($word)-2) . substr($word, -1);
}
python版
def get_numeronym(word):
    return word[0] + str(len(word)-2) + word[-1]

おわりに

基本的に文字列操作しかしないのでプログラム入門の問題としては非常に取り組みやすそうだなと思って紹介しました
是非色んな解き方を試してみてください:smile:

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3