アルゴ式の問題を解く Go カードの並べ替え(1)
こんにちは、ナナオです。 前回に引き続き競プロを実施していきたいと思います。 今回の問題は以下です。 カードの並べ替え(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で書くよりネストはしないし、無駄な処理がなくなったので良いですね。 ということで今回はこれで👍