こんにちは、ナナオです。

前回に引き続き競プロを実施していきたいと思います。

今回の問題は以下です。

カードの並べ替え(1) | アルゴ式

実装

以下のように実装しました。

package main
import (
    "fmt"
)

func main() {
    var n, l, r int
    fmt.Scan(&n, &l, &r)
    for i := l; i <= r; i++ {
        fmt.Println(i)
    }
    for i := 0; i < n; i++ {
        if i < l || i > r {
            fmt.Println(i)
        }
    }
}

解説コードを見たらちょっと改善できそうだったので、改善したコードが以下の通りです。

package main
import (
    "fmt"
)

func main() {
    var n, l, r int
    fmt.Scan(&n, &l, &r)
    for i := l; i <= r; i++ {
        fmt.Println(i)
    }
    for i := 0; i < l; i++ {
        fmt.Println(i)
    }
    for i := r + 1; i < n; i++ {
        fmt.Println(i)
    } 
}

ifで書くよりネストはしないし、無駄な処理がなくなったので良いですね。

ということで今回はこれで👍