[BOJ] - 2577



質問2577


3つの自然数A,B,Cの時A× B × Cの計算結果に基づいて、1つのプログラムを書き出して、1つの数字が0から9まで何回書いたかを求めます.
例えば、A=150、B=266、C=427の場合、A× B × C = 150 × 266 × 427=17037300、計算結果によると、17037300では0が3回、1が1回、3が2回、7が2回と書かれている.

入力


1行目A、2行目B、3行目C.A、B、Cはいずれも100以上、1000未満の自然数である.

しゅつりょく


1行目はAです× B × 出力Cの結果に0を何回書いたか.同様に、2行目から10行目Aまで× B × Cの結果では、1から9までの数字をそれぞれ何回書いて、1行ずつ出力します.

コード#コード#


n1 = int(input())
n2 = int(input())
n3 = int(input())

result = str(n1*n2*n3) # 문자열로 만들어줌.

#list에 넣어주기
list = []
for i in result: # range 아니어도 가능. 
    list.append(i)

# 0부터 9의 숫자가 몇번씩 쓰였는지 확인 
# list안의 숫자들이 문자열이기 때문에 i를 str로 바꿔줘야함. 
for i in range(10):
    print(list.count(str(i))

説明:

  • の空のリストを作成し、各ドアに1つ追加します.list.append()を使用します.
  • の2番目のfor文ではlistの数字は文字列なので、iをstrに変換してカウントする必要があります.
  • list.count()は、特定の要素がいくつあるかを教えてくれます.次のコードを確認します.
  • list.count()

    list = [ 1,2,3,4,4,5,5]
    
    print(list.count(4))
    # 숫자 4의 개수를 출력해줌.