#競プロでのlistの使い方
某競プロの初心者用の問題で各桁の和を出すというものがあった。
各桁の和というものがピンとこなくて???状態であったが、解説によると例えば[14]の場合だと[ 1 + 4 ]となり、[2]の場合だと[ 0 + 2 ]のようにみるらしい。
問題はここからで、[14]のような整数を与えられた場合、pythonでどうやって[ 1 + 4 ]のように分けるのか全く想像が付かなかったが、pythonのlistを使って無理やり分けることができるので紹介したい。
解説
Python
list('14') #リストの中に文字列の14を入れる
print(list('14')) #printで出力する
['1', '4'] #このように出力される
#よって各桁の和を表現したいときは以下の記述でできます
i = 14
print(sum(list(map(int, list(str(i))))))
5 #各桁の和、つまり[ 1 + 4 ]を出力してくれている
#感想
listをこのように使えるとは知らなかったので、非常に勉強になりました。