ponyoxaのいっぽいっぽ

ponyoxaの日記です

ABC258 A問題セルフレビュー

ABC258に参加して、なんとか問題1をACできたので、そのコードをセルフレビューします。

公式解説は以下です。
atcoder.jp

レビュー

まずは書いたコードをこちらに貼ります。

#include <iostream>
using namespace std;

int main()
{
    int N;
    cin >> N;
    int H;
    int M;

    if( N < 60 )
    {
        if( N >= 0 && N < 10)
        {
            cout << 21 << ":" << 0 << N;
        }
        else
        {
            cout << 21 << ":" << N;
        }
    }
    else if( N - 60 >= 0 && N - 60 < 10)
    {
        M = N - 60;
        H = 22;
        cout << H << ":" << 0 << M;
    }
    else
    {
        M = N - 60;
        H = 22;
        cout << H << ":" << M;
    }
}

ぱっと見返して、思ったこと
・変数Hいらんくね?
・if文の条件に0以上はいらんくね?
・フォーマットを指定して出力する関数あるんじゃね?

学んだこと

・いらない条件書かない

・以下のようにスマートにかける
int H = X < 60 ? 21 : 22;

・printf使えばフォーマット指定して出力できる

これからも精進していきます。
まだ1問ACできるかできないかのベイビーですが。。