東大理三生のプログラミング奮闘記

初心者プログラマーが半年間でどれだけ成長するか!についてのブログです。勉強方法とか使った本とかについて書いていくと思います!プログラミングをもっと身近に感じてもらえたら嬉しいです!毎日更新を目指します!

ARC #02 を python で解いてみた!

AtCoder のRegular Contest 02 のA〜C問題を python3 で解いてみました。

D 問題はまだ実力的に無理でした...笑

問題は以下です↓↓
arc002.contest.atcoder.jp


汚いコードですが一応動きました。。笑

もし、優しい方がいらっしゃったら、「こうすればもっとうまく書けるよ」とかをコメントで教えていただけると嬉しいです。

A 問題:うるう年を調べる

Y = int(input())
if Y % 400 == 0:
    print("yes")
elif Y % 100 == 0:
    print("no")
elif Y % 4 == 0:
    print("yes")
else:
    print("no")

B 問題:(年)が(月×日)で割り切れる一番近い日付を見つける

import datetime
Y, M, D = [int(n) for n in input().split("/")]
date_search = datetime.date(Y, M, D)
for n in range(1, 365):
    td = datetime.timedelta(days = n)
    date_search_next = date_search + td
    y = date_search_next.year
    m = date_search_next.month
    d = date_search_next.day
    if y % (m * d) == 0:
        print(date_search_next)
        break

C 問題:A,B,X,Yのうち2文字の組を2つ作って文字列を短くする

import re

N = input()
command = input()
button = ["A", "B", "X", "Y"]
short_command = []
for x in command:
    for y in button:
        short_command.append(x + y)

 

num = []
for i in range(15):
    L = short_command[i]
    command_1 = re.sub(L, "L", command)
    for l in range(i+1, 16):
        R = short_command[l]
        command_2 = re.sub(R, "R", command_1)
        num.append(len(command_2))

print(min(num))

Hello, World !!

以前、Ameba Blogで「一浪生の東大理三攻略日記」を書いていた gragragraoです。

ameblo.jp

 

新しい目標ができ、そのジャンルが受験勉強とは全く関係なかったので今回新しくブログを作りました!

 

hatena blogにした理由は特になくて、Amebaだとアプリでのアカウント切り替えが面倒だろうな〜って思ったからです。笑

 

 

タイトル通り、このブログでは主にプログラミング関連の記事を書いていきたいと思っています。

 

2017年2月にpythonの勉強を始め(つい最近!!)、3週間弱経ってようやくなんとか書けるようにはなってきたのでまずは最初の方を振り返りながら書いていきたいと思います。

 

 これまではパソコンとかに全く興味がなくて、プログラミングなどとは無縁の生活を送ってきたので、始まりは正真正銘の初心者でした!

 

なので、「これからプログラミングを始めよう!」っていう人には割と参考になるかと思います。笑

 

pythonを選んだ理由は、今一番イケている(らしい)言語であることと、インターン先の使用言語がpythonなのでガチ勢の人に教えてもらえることです。

 

東大では9月から医学部になるんですが(それまでは暇)、あと半年強あるのでその間に....

 

python:ちゃんと完璧にする。フレームワークDjangoを使う。

ruby:コード見て理解できるぐらいに知っておく

JavaScript:割と書けるようになりたい

AWS:使えるようになりたい。ソリューションアーキテクトという資格に合格したい

 

これぐらいは達成できたらいいなと思います!

 

では!!

 

励みになるので、よかったら「いいね」お願いします!