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

ARC-045-A スペース高橋君

■■■問題■■■

スペース高橋君は今日も銀河の平和を守っています。
スペース高橋君は銀河の治安を悪化させているスペース青木君と踊りで勝負することにしました。
具体的な方法を説明します。

スペース青木君はLeft、Right、AtCoder、の三種類の単語からなる言葉を発します。
スペース高橋君はLeftと聞いたら<、Rightと聞いたら>、AtCoderと聞いたらAと答えます。

あなたの仕事は、スペース高橋君をサポートするためのプログラムを書くことです。
スペース青木君の発した言葉が与えられるので、
スペース高橋君の発する言葉を表示するプログラムを作ってください。

■■■入力■■■

S

1行目には文字列Sが与えられる。Sには半角スペースが含まれることもあることに注意せよ。
Sの長さは1文字以上100文字以下である。
Sは、3種類の単語 (Left、Right、AtCoder) いくつかを半角スペース1つでつないだものである。

■■■出力■■■

出力は標準出力に行い、末尾に改行を入れること。
S について、Leftを<、Rightを>、AtCoderをAに置換したものを一行に出力せよ。
行の最後に余分な空白を入れないように注意すること。


C#のソース

using System;
using System.Collections.Generic;

class Program
{
    static string InputPattern = "InputX";

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

        if (InputPattern == "Input1") {
            WillReturn.Add("Left Right AtCoder");
            //< > A
        }
        else if (InputPattern == "Input2") {
            WillReturn.Add("Left Left Right Right AtCoder");
            //< < > > A
        }
        else if (InputPattern == "Input3") {
            WillReturn.Add("Right Right AtCoder Left Left AtCoder");
            //> > A < < A
        }
        else {
            string wkStr;
            while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
        }
        return WillReturn;
    }

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

        var sb = new System.Text.StringBuilder();
        string[] SplitArr = S.Split(' ');
        for (int I = 0; I <= SplitArr.GetUpperBound(0); I++) {
            if (I > 0) sb.Append(" ");
            if (SplitArr[I] == "Left") sb.Append("<");
            if (SplitArr[I] == "Right") sb.Append(">");
            if (SplitArr[I] == "AtCoder") sb.Append("A");
        }
        Console.WriteLine(sb.ToString());
    }
}


解説

Splitしてから順に処理してます。