トップページに戻る    次の競技プログラミングの問題へ    前の競技プログラミングの問題へ

ABC-069-B i18n

■■■問題■■■

internationalizationという英単語は、i18nと略されることがあります。
これは、先頭文字iと末尾文字nの間に18文字が挟まっていることに由来します。

長さ3以上の英小文字のみからなる文字列sが与えられます。
同様の規則によってsを略してください。

■■■入力■■■

s

●3 <= |s| <= 100 (ただし、|s| はsの長さを表す)
●sは英小文字のみからなる

■■■出力■■■

sを略したものを出力せよ。


C#のソース

using System;
using System.Collections.Generic;

class Program
{
    static string InputPattern = "Input1";

    static List<string> GetInputList()
    {
        var WillReturn = new List<string>();

        if (InputPattern == "Input1") {
            WillReturn.Add("internationalization");
            //i18n
        }
        else if (InputPattern == "Input2") {
            WillReturn.Add("smiles");
            //s4s
        }
        else if (InputPattern == "Input3") {
            WillReturn.Add("xyz");
            //x1z
        }
        else {
            string wkStr;
            while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
        }
        return WillReturn;
    }

    static void Main()
    {
        List<string> InputList = GetInputList();
        string S = InputList[0];

        int StrLen = S.Length;
        Console.WriteLine("{0}{1}{2}", S[0], StrLen - 2, S[StrLen - 1]);
    }
}


解説

ナイーブに実装してます。