teratail header banner
teratail header banner
質問するログイン新規登録
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

716閲覧

配列の中の全ての”1”を数える方法

ryo13rio

総合スコア1

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/07/26 18:03

0

0

前提

Pytohnを用いて下記、競技プログラミングの計算問題を解いているのですが、躓いております。
「配列の中に存在する全ての”1”の数を数える方法」がわかりません。ご教示いただけますと幸いです。
例)
以下の配列なら、配列中に1が4つあるので、4を取り出したいです。
[123,11,135]

出題内容

1〜50,000,000のなかで、3の倍数でも5の倍数でもない数に含まれる"1"の数を求めよ。
例)
例えば、1〜20のなかで、3の倍数でも5の倍数でもない数に含まれる"1"の数を求めるなら、
1,2,4,7,8,11,13,14,16,17,19の中に"1"は8個含まれるため、答えは「8」となります。

分からない箇所

私のコードでは、「"1"が含まれる数字の個数」を数えてしまい、数字の中に含まれる"1"の個数を数えられていません。
解決策をご教示いただけますと幸いです。

該当のソースコード

Python3

1l = [] 2for n in range(1, 50000000): 3 if n % 3 != 0 and n % 5 != 0: 4 l.append(str(n)) 5 6l_in = [s for s in l if '1' in s] 7 8b = len(l_in) 9 10print(b)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

元のソースを活かすならこんなかんじですかね

python

1l_in = [str(s).count('1') for s in l] 2 3b = sum(l_in)

投稿2022/07/26 21:05

編集2022/07/26 21:13
takasima20

総合スコア7468

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

文字列.count("1")で文字列の中に含まれる"1"の個数がわかるので、それを集計すれば良いかと。

投稿2022/07/26 18:48

otn

総合スコア86362

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryo13rio

2022/07/26 19:22

早速、ご回答をいただきまして誠にありがとうございます。 下記のように修正した所、期待した結果が得られました。 ありがとうございました。 ``` b = "0" for n in range(1, 50000000): if n % 3 != 0 and n % 5 != 0: a = str(n) b = b + a c = b.count("1") print(c) ```
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問