トップページに戻る
次の競技プログラミングの問題へ
前の競技プログラミングの問題へ
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してから順に処理してます。