コードテスト5


0から9までの数値の一部を含む整数配列.  numbersパラメータとして使用します.  numberssolution関数を完了して、見つからない0から9のすべての数字を検索し、より多くの数字を返してください.
せいげんじょうけん
  • 1 ≤  numbers長さ≦9
  • 0 ≤  numbersのすべての要素≦9
  • numbersの要素はすべて異なります.
  • I/O例

  • 私が解決した結果!
    0~9のみ
    まず入力値numbersを複文に変換し、どの数字があるか知りたい.
    0~9周回って何か同じものがあるか確認すればいいです
    →何もないとどうしてわかったの?
    →どうせ入ってくる数字にも限りがあるので、それを足して消せばいいと思います.
    class Solution {
        public int solution(int[] numbers) {
            
            int j = 0;
            int sum = 45;
            for (j = 0; j < numbers.length; j++) {
            	 for (int i=0; i < 10; i++) {
            		 if (numbers[j] == i) {
            			sum -= i;
            		    continue;
            	}else {
            		continue;
            	}
            }    
        }
            return sum;
    	}
    }
    私とは違うコード
    結局私はこんなに簡潔にできました・・・
  •     class Solution {
            public int solution(int[] numbers) {
                int sum = 45;
                for (int i : numbers) {
                    sum -= i;
                }
                return sum;
            }
        }
    booleanのコードを使用!
    私の理解する解釈
    booleanで配列を作成し、初期値はすべてfalseのようです.だから、数字の中の数字はtrueになって、残りの数字は初期値falseになるので、それらの値だけを加えました!
    class Solution {
        public int solution(int[] numbers) {
            int answer = 0;
    
            boolean[] numarr = new boolean[10];
    
            for(int i =0; i<numbers.length; i++){
               numarr[numbers[i]] = true;
            }
    
            for(int i=0; i<numarr.length; i++){
                if(numarr[i] == false){
                    answer += i;
                }
            }
            return answer;
        }
    }