0
0

自分用にAtCoderの解答をまとめていきます。誤った情報があったら、申し訳ございません。

覚えること

  • setメソッド
    Listクラスのsetメソッドは、1つ目の引数は書き換えたいList内の位置を指定し、2つ目の引数は実際の変更の仕方を指定できる。

コード

ABC049C_Daydream
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class ABC081B_ShiftOnly {
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            int s = sc.nextInt();
            int count = 0;
            boolean judge = true;
            List<Integer> arrayList = new ArrayList<>();

            for (int i = 0; i < s; i++) {
                int t = sc.nextInt();
                arrayList.add(t);
            }

            while (judge) {
                for (int i = 0; i < arrayList.size(); i++) {
                    int t = arrayList.get(i);
                    if (t % 2 != 0) {
                        judge = false;
                        break;
                    }
                    arrayList.set(i, t / 2);
                }
                if (judge) {
                    count++;
                }
            }

            System.out.println(count);
        }
    }
}


感想&振り返り

わざわざArrayList使う必要ない気がします。要素数が先に決まっているなら、配列でいいんじゃないかなって今では思います。調べてみると、微妙に配列の方が処理速度は速いみたいですし、今後は配列で記述しようかなって思います。(このレベルだと多分変わらない気がしますが、)

参考にしたサイト

0
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
0
0