トップページに戻る
次の競技プログラミングの問題へ
前の競技プログラミングの問題へ
ABC-063-B Varied
■■■問題■■■
英小文字からなる文字列Sが与えられます。
Sに含まれる文字がすべて異なるか判定してください。
■■■入力■■■
S
●2 <= |S| <= 26 ここで|S|はSの長さを表す
●Sは英小文字のみからなる
■■■出力■■■
Sに含まれる文字がすべて異なる場合はyes(英小文字)、
そうでない場合はnoと出力せよ。
C#のソース
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static string InputPattern = "Input1";
static List<string> GetInputList()
{
var WillReturn = new List<string>();
if (InputPattern == "Input1") {
WillReturn.Add("uncopyrightable");
//yes
}
else if (InputPattern == "Input2") {
WillReturn.Add("different");
//no
}
else if (InputPattern == "Input3") {
WillReturn.Add("no");
//yes
}
else {
string wkStr;
while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
}
return WillReturn;
}
static void Main()
{
List<string> InputList = GetInputList();
string S = InputList[0];
if (S.Distinct().Count() == S.Length) {
Console.WriteLine("yes");
}
else Console.WriteLine("no");
}
}
解説
Distinctで重複を排除する前後で、要素数を比較してます。