[標準]1 D配列、関数


白駿2577個の数字の個数


質問する


https://www.acmicpc.net/problem/2577

に答える

a = int(input())
b = int(input())
c = int(input())

mul = str(a * b * c)
for i in range(10):
    print(mul.count(str(i)))
Pythonの関数を使って解放し、
初めて問題を見たとき、count関数を使うとは思わなかった.
最初はfor転文の関数を作って、桁ごとの数字を一つ一つ数えますか?
前の問題も同じですが、Python内蔵関数を利用するのは良い方法だと思います.

残り。


質問する


https://www.acmicpc.net/problem/3052

に答える

arr = [0] * 10
num_arr = []

for i in range(10):
    arr[i] = int(input())

for j in arr:
    num_arr.append(j % 42)

num_arr = set(num_arr)
print(len(num_arr))
10個の数字を入力し、10個以上の0の配列を作成してから開始します.
10個の配列に新しい数字を入力し、
残りは重複を取り除くのでsetにして重複を取り除く.

ああ...

へいきん


質問する


https://www.acmicpc.net/problem/1546

に答える

N = int(input())
M = [0] * N
M = list(map(int, input().split()))
value_arr = []
max_value = max(M)

for i in M:
    num = i / max_value * 100
    value_arr.append(num)
score = sum(value_arr) / len(value_arr)
print(score)
あはは~この友達も並びます
上の問題とあまり差がありません...
並べた関数で解けばいいです.
最大値を求めるmaxを使用しました.
数字を演算してアレイに入れて平均数を求める.

白駿4673セルフナンバー


質問する


https://www.acmicpc.net/problem/4673

に答える

numarr = []
self_number = []
co_num = []

for n in range(10000):
    numarr.append(str(n))

for i in numarr:
    num = int(i)
    for j in i:
        num += int(j)
    self_number.append(num)

(set(self_number))
for k in range(10000):
    if k in self_number:
        pass
    else:
        co_num.append(k)
for s in co_num:
    print(s)
ただ….感じの解のあまりにも文化がありません...
実は、問題を見ると最初から最後から計算しますか?
考えて、違うと思って、すぐに変えました.
問題を解決する方法はたくさんありますが、
私が選んだ方法は1から10000までです
問題の中の方法で加算されたすべての数字をリストに入れます.
設定...

セット...

とにかく...重複を排除するコレクションを作成します.
10,000個の数字の中の非数値をリストに再挿入します.
突き出ています.
見ればわかりますが、これは効率的ではありません.
改善します.😁

1曲


質問する


https://www.acmicpc.net/problem/1065

に答える

N = int(input())

if N < 100:
    value = N
else:
    value = 99
    for i in range(100, N + 1):
        num = str(i)
        value_one = int(num[2]) - int(num[1])
        value_two = int(num[1]) - int(num[0])
        if value_one == value_two:
            value += 1
print(value)
初めて検索した時、歌をどう理解すればいいか考えていました.
2桁までは、すべての数字の間隔が等差数列になっているからです.
みな一手だと言っている.
見ればわかるが、この問題も無知な方法で解決された.
正解でしたが…気分が悪い
これは直感的な解法ですが、もっと大きな数字が得られると
非効率的な意識が現れる
あまりにも直感的で、どのように説明するか分かりません