りんごとバナナとエンジニア

エンジニア修行の記録

Python

【Python】heapqで優先度つきキューを理解する

先日のAtCoder Beginners Contest 141に参加したのだが、問題Dを解くことができなかった。 この問題を言い換えると、要は「数値型の要素で構成される配列において、最も値が大きいものを1/2にするという作業を繰り返し、最終的な要素の合計を求める」という…

DjangoのView呼び出しの仕組み ~getメソッドはどう呼ばれるのか

最近仕事でDjangoを使う機会が多くなった。 プログラミングを勉強し始めた頃にDjango Girls Japanのチュートリアルをやったことがあるからまあ大丈夫だろうと思っていたが、すぐにそれだけでは全く歯が立たないと気づいた。業務でDjangoを扱う際は、デフォル…

DjangoでTemplateDoesNotExistと言われたら

別のブログ記事用に、Djangoで簡単なアプリを作った。モデルがなく、単にView関数を呼び出してTemplateを出すだけ。 from django.shortcuts import render from django.views.generic import View # Create your views here. class IndexView(View): def get…

Pythonで深さ優先探索を実装する

前の記事で幅優先探索を実装したので、ついでにこちらも。 問題はAtCoder Typical Contest 001A。一応解説スライドはあるが、スタックを使った実装方法が書いてないので、自分でやってみることにした。 実装 from collections import deque def dfs(maze, vi…

Pythonで幅優先探索を実装する

アルゴリズムの勉強のために、幅優先探索を書いてみた。 使ったのはAtCoder Beginers Contest 007Cの問題。この頃はアルゴリズムがそのまま出題されてたようだ。 特殊事項として、この問題ではスタートからゴールまでは必ず行くことができる前提がある。さら…

【Python】親クラスのプロパティ・メソッドを子クラスで使いたいときの書き方

書くたびに調べることになるので、忘れないようにメモ。 親クラスと同じメソッドを子クラスでそのまま使うとき superなどで指定しなくても普通に使える。 class Animal: def __init__(self, legs): self.legs=legs def legnum(self): return "I have " + str…

「オブジェクト指向言語解体新書」が神ってた話

10月に行われた技術書典3、行きましたか? 私も当日いろいろ本を買ったのですが、その中の一冊「オブジェクト指向言語解体新書」が、今年読んだ本の中で一二を争うレベルですばらしい内容だったので、感想を書き残しておきます。 ※技術書典から1ヶ月以上経っ…