Skip to content

Instantly share code, notes, and snippets.

View bananaumai's full-sized avatar
🙄

bnn bananaumai

🙄
  • MODE, Inc.
  • Tokyo
View GitHub Profile
import Data.List as List
import Data.Map as Map
import Data.Maybe as Maybe
import Data.Sequence as Seq
import Data.Set as Set
maze = "#S######.#" ++
"......#..#" ++
".#.##.##.#" ++
".#........" ++
module Main where
import Prelude (Unit, bind, unit, (+))
import Control.Monad.Eff (Eff)
import Control.Monad.Eff.Console (CONSOLE)
import Data.Maybe (Maybe(..))
import Data.Int (fromString)
import Web.Cookies (COOKIE, getCookie, setCookie)
main :: forall eff. Eff (console :: CONSOLE, cookie :: COOKIE | eff) Unit
@bananaumai
bananaumai / longest-shiritori-pattern.hs
Last active February 7, 2017 03:56
プログラマ脳を鍛える数学パズル 問題14
import Data.List
main :: IO ()
main = print $ solve [ "def", "fdc", "abcd", "char", "hoge"]
solve :: [String] -> [String]
solve wrds = snd $ last $ sortOn fst $ map (\ws -> (calc ws, ws)) $ permutations wrds
calc :: [String] -> Int
calc [] = 0
@bananaumai
bananaumai / 1129.hs
Last active January 20, 2017 14:27
AOJ-ICPC
-- http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1129
-- http://judge.u-aizu.ac.jp/onlinejudge/review.jsp?rid=2162974#1
main :: IO ()
main = do
s <- getContents
mapM_ print $ solve (strings2ds s) []
solve :: [[Int]] -> [[Int]] -> [Int]
solve ([0, 0]:_) acc = map head $ reverse acc
solve datasets acc = solve rest (result : acc) where
const delayed_yeah = () => {
console.log('delayed_yeah!')
return new Promise((resolve, reject) => {
setTimeout(() => resolve('yeah!'), 2000)
})
}
const delayed_hi = () => {
console.log('delayed_hi!')
return new Promise((resolve, reject) => {
require 'set'
COL_NUM = 8
def queen()
place([], 1, COL_NUM).select{ |l| l.length == 8 }
end
def place(accum, col, col_num)
available_squares = find_available_squares(accum, col_num)
@bananaumai
bananaumai / ohello-immutable.js
Last active January 4, 2017 03:11
オセロ用のモデル
import IM from 'immutable'
import _ from 'lodash'
export const DISC = {
WHITE_SIDE : Symbol('WHITE_SIDE'),
BLACK_SIDE : Symbol('BLACK_SIDE')
}
export const SQUARE_STATUSES = {
WHITE: Symbol('WHITE'),
root = true
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
indent_style = space
indent_size = 2
@bananaumai
bananaumai / seq2candlestick.js
Last active December 23, 2016 13:41
Googleスプレッドシートで連続データをローソク足チャート描画用のデータに変換するGoogle Apps Script
function seq2candlestick(range, nDiv, noHeader) {
const vals = range.filter(function(val) { return val != "" }).map(function(val) { return Number(val) })
const res = _splitseq(vals, Number(nDiv)).map(function(ns) {
const min = Math.min.apply(null, ns)
const q1 = _q1(ns)
const q3 = _q3(ns)
const max = Math.max.apply(null, ns)
return [min, q1, q3, max]
})
if (noHeader) {
@bananaumai
bananaumai / mecab_basic.py
Created March 7, 2016 16:59
mecab sample
import MeCab
t = MeCab.Tagger('-Ochasen')
n = t.parseToNode('MeCabを使って何かやってみる。')
while n:
print("surface:\t{0}".format(n.surface))
print("feature:\t{0}".format(n.feature))
print("cost:\t{0}".format(n.feature))
n = n.next