1112コードを効率的に書きたい

7095 ワード

質問する


自然数7個を選択し、奇数を1個選択します.その中から最高値を選び出す.

私が書いたコード

function solution(arr){
                let odd = []
               //홀수만 고르기 -> 최소값 찾아서 리턴
               let sorted = arr.sort()
               for(let i= 0; i < sorted.length; i++){
                   if(sorted[i] % 2 !== 0){
                       odd.push(sorted[i])
                   }
               }
               return odd[0]
            }
            
            arr=[12, 77, 38, 41, 53, 92, 85];
            console.log(solution(arr));

解答コード

 function solution(arr){
                let answer=[];
                let sum=0, min=1000;
                for(let x of arr){
                    if(x%2===1){
                        sum+=x;
                        if(x<min) min=x;
                    }
                }
                answer.push(sum);
                answer.push(min);     
                return answer;
            }
            
            arr=[12, 77, 38, 41, 53, 92, 85];
            console.log(solution(arr));

に感銘を与える


普段使っているコードの習慣が残っているためか、頭の中に保存している知っている方法でもあまり使われていません.より簡潔で可読性の高いコードを書く方法を考えてみましょう.