This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Count the yo-yos I have by brand and get the top 5 brands. | |
# Use the CSV output from Notion's database to tally. | |
require 'csv' | |
rows = CSV.read(Pathname(Dir.home).join('Downloads/my_yoyos.csv')) | |
resutls = rows.slice(1..).map { _1[1].split(/,\s*/) }.flatten.tally | |
resutls.sort_by { -_2 }.first(5).to_h |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 決定性有限オートマトン (DFA) | |
class DFA | |
class InvalidEvent < StandardError; end | |
attr_reader :current_state | |
def initialize(current_state:, accept_states:, rules:) | |
@current_state = current_state | |
@accept_states = accept_states | |
@rules = rules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const convertTableToRows = (selector) => { | |
const table = document.querySelector(selector); | |
const rows = []; | |
const headers = Array.from(table.querySelectorAll('tr:first-child th')).map(th => th.innerText); | |
rows.push(headers); | |
table.querySelectorAll('tr').forEach(tr => { | |
const row = []; | |
tr.querySelectorAll('td').forEach(td => { | |
row.push(td.innerText); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import itertools | |
from collections.abc import Iterator | |
def fizzbuzz(n: int) -> Iterator[int | str]: | |
''' | |
Return the fizzbuzz of n, an exact integer >= 0. | |
>>> from fizzbuzz import fizzbuzz | |
>>> [i for i in fizzbuzz(15)] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'terminal-table' # https://github.com/tj/terminal-table | |
| |
N = 30 # 合計人数 | |
| |
# table[n][0] は男子を選ぶ組み合わせの数。 | |
# table[n][1] は女子を選ぶ組み合わせの数。 | |
table = Array.new(N + 1) { Array.new(2, 0) } | |
| |
# n = 1 のときは男子も女子も 1 通りずつ。 | |
table[1][0] = 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'delegate' | |
# https://github.com/tj/terminal-table | |
require 'terminal-table' | |
# ナップサック問題(Ruby) | |
# http://obelisk.hatenablog.com/entry/2017/05/26/162601 | |
# 典型的な DP (動的計画法) のパターンを整理 Part 1 ~ ナップサック DP 編 ~ | |
# https://qiita.com/drken/items/a5e6fe22863b7992efdb | |
class Item |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Sets Prezto options. | |
# | |
# Authors: | |
# Sorin Ionescu <sorin.ionescu@gmail.com> | |
# | |
# | |
# General | |
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const puppeteer = require('puppeteer'); | |
const columnify = require('columnify'); | |
const url = 'https://www.google.co.jp/'; | |
const args = process.argv.slice(2); | |
(async () => { | |
const browser = await puppeteer.launch(); | |
let results = await Promise.all(args.map(async (word) => { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /usr/bin/env ruby | |
require 'open3' | |
class NmapResult | |
IP_ADDRESS_PATTERN = /\d+\.\d+\.\d+\.\d+/ | |
MAC_ADDRESS_PATTERN = /([\dA-F]{2}:){5}[\dA-F]{2}/ | |
attr_reader :lines | |
def self.parse(stdout) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# (あえて境界値がうるう日前後になるように) 今日の日付が 2020/02/29 (土) だと仮定する。 | |
today = Date.parse('2020/02/29') | |
User.order(:birthday).each { |user| puts("#{user.birthday.strftime('%Y/%m/%d')} #{user.name}")} | |
# 1989/02/28 ピカチュウ | |
# 1989/03/01 カイリュー | |
# 2000/02/29 ヤドラン | |
# 2000/03/01 ピジョン | |
age_from = 20 # 20 歳から |
NewerOlder