📖
【AtCoder解説】ABC081B - Shift Only を解いた記録
本記事は、AtCoder の問題を解いて得た知見を記録するための学習ログです。
毎回1問ずつ、「何を考えて解いたか」「どう実装したか」「学んだこと」を簡単にまとめていきます。
問題概要
奇数になるまで2でわる問題
解放とコード
n =input()
s = [*map(int, input().split())]
count = 0
while True:
for i in range(len(s)):
if s[i] % 2 == 1:
break
s[i] = int(s[i] / 2)
else:
count += 1
continue
break
print(count)
set()
解きながら考えたこと・学んだこと・感じたこと
- for-elseがある
- elseはforがbreakされずに一周した時にelseに行く
- それを利用して多重ループを抜ける
AIの評価
- int(s[i] / 2) より s[i] // 2 を使おう
綺麗な回答
_ = input()
s = list(map(int, input().split()))
count = 0
while all(x % 2 == 0 for x in s):
s = [x // 2 for x in s]
count += 1
print(count)
Discussion