今回は競技プログラミングで有名なAtcoderで問題を解いてみました。
※私は競技プログラミング素人でアルゴリズムの学習を始めたばかりの初心者ですのでそれを踏まえて閲覧してください。
今回解いた問題
解いた問題はAtCoder Beginner Contest 085のA-Already2018というものになります。
A問題なので難易度は低めです。(競プロ初心者は苦戦すると思われる。)
AtCoder Beginner Contest 085 - AtCoder
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
ソースコード
以下はソースコードとなります。
from datetime import datetime
S = input()
orginal_S = datetime.strptime(S, "%Y/%m/%d")
new_date = orginal_S.replace(year=orginal_S.year + 1)
formatted_date = new_date.strftime("%Y/%m/%d")
print(formatted_date)
考え方
何が効率がいいのかわからなかったがとりあえず標準ライブラリにdatetimeがあるんで使わせてもらった。
input()で受け取った日付をdatetimeを使ってyearに対して一年増加させてそれをアウトプットさせました。
注意点として最後の出力のprint()に変数new_dateを入れてしまうと2018/01/07 00:00:00のような時間部分も表示されてしまったのでこのコードでフォーマットを適切に整えて出力しさせることが必要です
formatted_date = new_date.strftime("%Y/%m/%d")
datetimeについて学べることもあっていい機会になりました。
コメント