LoginSignup
1
0

More than 3 years have passed since last update.

【Go】Paizaとかで標準入力から配列を入手する定型句

Last updated at Posted at 2019-05-19

インプット

3 5
101 102 103 104 105
201 202 203 204 205
301 302 303 304 305

始めの1行が行x列を表しています。

結論

package main
import (
    "fmt"
    "bufio"
    "os"
    "strings"
    "strconv"
)

var sc = bufio.NewScanner(os.Stdin)

func scanLine() []int {
    sc.Scan()
    s := sc.Text()  // 1行読み込み
    sl := strings.Split(s, " ") // 1行をスペースで分割
    ret := []int{}
    for i:= range sl {
        v, _ := strconv.Atoi(sl[i]) // 1要素ずつ整数に変換
        ret = append(ret, v) // スライスに追加
    }
    return ret
}

func main() {
    sl := scanLine() // まず1行読み込む

    data := [][]int{}

    // 行数分だけループ
    for i :=0; i < sl[0]; i++ {
        line := scanLine()
        data = append(data, line)
    }

    // あとはご随意に
}

ボヤキ

Rubyだったら1行分 gets.split(" ").map{|v| v.to_i} で済むのに...

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0