1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初心者プログラマーAtCoderに挑んだ軌跡-ABC403-A-

Posted at

ABC403-A

問題の内容

与えられた配列の奇数番目の合計値

言語

Rust

解法

let mut sum = 0;
for i in 0..n {
    if i % 2 == 0 {//配列は0から→奇数番目はあまり0
        sum += a[i];
    }
}

とかにすればできそうなのですが、前日にiterに感動したのでiterで頑張ってみようと思います。

課題

  • .filter()の使い方
  • 配列番号と中身を紐づけられない問題

学んだこと

  • filter等の文法
    (|引数| 式)というクロージャ(簡易的な関数)をその場で定義して渡す
  • 配列番号と中身を紐づける
    .enumerate()というあり得ないぐらい便利なものがあるらしい…
  • 二次元配列にしてしまったので戻さなければいけない
    .map()で要素を変更する→2次元配列を1次元配列に変更できる

提出内容

use proconio::input;

fn main() {
  input! {
    n: usize,
    a: [i64;n],
  }
  let sum: i64 = a
      .iter()
      .enumerate()
      .filter(|(i, _)| i % 2 == 0)//配列は0からより
      .map(|(_, x)| x)
      .sum();
    println!("{}", sum);
}

成績

  • 243Byte
  • AC
  • 0ms
  • 2052KiB
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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?