pandasでpaiza問題(二重ループ:スーパー鳩時計)

スポンサーリンク

paizaへのリンク(二重ループ:スーパー鳩時計 (paizaランク C 相当)

時間と分をリストに入れて、それをpandasのDataFrameに格納する。forループ内で計算結果に基づいてprintで結果を出力する。問題文が若干曖昧な表現だが、何も鳴かない時は空行を出力する必要がある。念の為、下には普通の解き方を貼っておく。

import pandas as pd

hours = list(range(0, 24))
mins = list(range(0, 60))
lst1 = []

for i in hours:
    for j in mins:
        tmp = [i, j]
        lst1.append(tmp)

df1 = pd.DataFrame(lst1)

for k in range(1440):
    tmp = df1.iat[k, 0] + df1.iat[k, 1]
    if tmp == 0:
        print('FIZZBUZZ')
    elif (tmp % 3 == 0) and (tmp % 5 == 0):
        print('FIZZBUZZ')
    elif tmp % 3 == 0:
        print('FIZZ')
    elif tmp % 5 == 0:
        print('BUZZ')
    else:
        print()

普通の解き方

for i in range(24):
    for j in range(60):
        tmp = i + j
        if tmp == 0:
            print('FIZZBUZZ')
        elif (tmp % 3 == 0) and (tmp % 5 == 0):
            print('FIZZBUZZ')
        elif tmp % 3 == 0:
            print('FIZZ')
        elif tmp % 5 == 0:
            print('BUZZ')
        else:
            print()

「pandasでpaiza問題」記事一覧へのリンク

コメント

当ブログのコンテンツが気に入ったら広告ブロックの解除(ホワイトリスト化)をご検討下さい。

Please disable your adblocker or whitelist this site!

タイトルとURLをコピーしました