Skip to content

Instantly share code, notes, and snippets.

View c-yan's full-sized avatar

c-yan c-yan

View GitHub Profile
@c-yan
c-yan / main.go
Created March 22, 2018 16:42
slice shrink
package main
import (
"fmt"
)
func main() {
array := make([]int, 0, 0)
for i := 0; i < 1000; i++ {
array = append(array, i)
@c-yan
c-yan / knock18.go
Last active February 27, 2018 13:44
18. 各行を3コラム目の数値の降順にソート 各行を3コラム目の数値の逆順で整列せよ(注意: 各行の内容は変更せずに並び替えよ).確認にはsortコマンドを用いよ(この問題はコマンドで実行した時の結果と合わなくてもよい).
package main
import (
"bufio"
"fmt"
"os"
"sort"
"strconv"
"strings"
)
@c-yan
c-yan / slice-reverse.go
Last active February 27, 2018 13:49
00. 文字列の逆順 文字列"stressed"の文字を逆に(末尾から先頭に向かって)並べた文字列を得よ.
package main
import (
"fmt"
"reflect"
)
func Reverse(slice interface{}) {
t := reflect.ValueOf(slice)
swap := reflect.Swapper(slice)
@c-yan
c-yan / tail.go
Last active February 27, 2018 13:48
15. 末尾のN行を出力 自然数Nをコマンドライン引数などの手段で受け取り,入力のうち末尾のN行だけを表示せよ.確認にはtailコマンドを用いよ.
package main
import (
"bufio"
"fmt"
"io"
"os"
"strconv"
)
@c-yan
c-yan / paste.py
Last active February 27, 2018 13:47
13. col1.txtとcol2.txtをマージ 12で作ったcol1.txtとcol2.txtを結合し,元のファイルの1列目と2列目をタブ区切りで並べたテキストファイルを作成せよ.確認にはpasteコマンドを用いよ.
#! /usr/bin/python
# -*- coding: utf-8 -*-
from sys import argv, stdout
from itertools import izip
def iterlines(fn):
with open(fn) as f:
for line in f:
yield line.rstrip('\r\n')
@c-yan
c-yan / mr.go
Last active February 27, 2018 13:47
13. col1.txtとcol2.txtをマージ 12で作ったcol1.txtとcol2.txtを結合し,元のファイルの1列目と2列目をタブ区切りで並べたテキストファイルを作成せよ.確認にはpasteコマンドを用いよ.
package mr
import (
"bufio"
"io"
"os"
"strings"
)
type multiReader struct {
@c-yan
c-yan / fib.go
Created February 15, 2018 17:05
Fibonacci number
package main
import (
"fmt"
"github.com/BenLubar/memoize"
)
func main() {
var fib func(uint64) uint64
fib = func(n uint64) uint64 {
@c-yan
c-yan / ack.go
Last active February 15, 2018 13:31
ackerman function with memoize
package main
import (
"fmt"
)
type AckParam struct {
M uint64
N uint64
}
package main
import (
"fmt"
)
func main() {
memoizedFactorial := func() func(int) int {
cache := make(map[int]int)
var factorial func(n int) int
@c-yan
c-yan / memoized-factorial.go
Created February 14, 2018 14:14
memoize in go
package main
import (
"fmt"
"github.com/BenLubar/memoize"
)
func main() {
var factorial func(n int) int
factorial = func(n int) int {