結果

問題 No.188 HAPPY DAY
ユーザー takentatakenta
提出日時 2016-03-29 21:27:56
言語 D
(dmd 2.107.1)
結果
AC  
実行時間 1 ms / 1,000 ms
コード長 732 bytes
コンパイル時間 578 ms
コンパイル使用メモリ 78,036 KB
実行使用メモリ 4,372 KB
最終ジャッジ日時 2023-09-02 20:57:59
合計ジャッジ時間 938 ms
ジャッジサーバーID
(参考情報)
judge15 / judge13
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
4,372 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import std.stdio;
import std.string;
import std.conv;
import std.algorithm;
import std.range;

void main()
{
    happyday.writeln;
}

int happyday()
{
    auto month = [1,2,3,4,5,6,7,8,9,10,11,12];

    auto result = reduce!((acc, mon) => acc + month_happydays(mon))(0, month);

    return result;
}

int month_happydays(int mon)
{
    auto day = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31].map!("a / 10 + a % 10");
    auto month_days = day;
    switch (mon)
    {
        case 2: month_days = day.take(29); break;
        case 4:
        case 6:
        case 9:
        case 11: month_days = day.take(30); break;
        default: break;
    }

    return count(month_days, mon).to!int;
}
0