B - 11/11
解説
の制約から全探索( )で ok.
同じ文字を判定する時は, 1 文字ずつset
に入れて, サイズが かどうかを判定する.
go で文字列の 文字目を取得すると, rune
型が返されることに注意.
str[0] // rune型
string(str[0]) // string型
提出コード
func main() {
n := readInt()
D := readInts()
ans := 0
for i := 1; i <= n; i++ {
set := map[string]struct{}{}
strI := fmt.Sprint(i)
for j := 0; j < len(strI); j++ {
set[string(strI[j])] = struct{}{}
}
if len(set) != 1 {
continue
}
for j := 1; j <= D[i-1]; j++ {
strJ := fmt.Sprint(j)
set := map[string]struct{}{}
set[string(strI[0])] = struct{}{}
for k := 0; k < len(strJ); k++ {
set[string(strJ[k])] = struct{}{}
}
if len(set) == 1 {
ans++
}
}
}
writeLine(ans)
}