JS 알고리즘 문제풀이/섹션 1. 기본문제 풀이

6.홀수

crab. 2022. 1. 11. 15:47

📌강의 정리

홀수들만 구하고 그 홀수들의 합을 출력한다.

먼저 arr배열을 넘긴다.

탐색해서 홀수를 넘겨야한다.

for문에서 i가 아니라 of 구문을 써보자.

for(let x of arr)

변수를 길게 의미있게 하지말고 배울때는 간단하게 하자.

ex) tmp, a, x, result

면접관앞에서는 변수이름 잘 정해서 하자.

arr의 값들을 하나씩 x가 받는다.

코딩인터뷰할때 ==과 ===중에서 하나로 통일해서 해야한다.

===은 타입까지 비교한다.

min은 Number.MAX_SAFE_INTEGER로 초기화한다. 습관을 들여놓자.

+= 이라는 할당연산자를 써서 코드를 간결하게 짜자

answer.push를 써서 answer라는 배열에 sum과 min을 push한다.

이렇게해서 answer를 정의하면 된다.

📌느낀점

새롭게 익숙해져야할 for of를 배웠다 의식적으로 사용하여 익숙해져야겠다.

아니 나머지는 다 비슷하게 가는데 이거 출력을 한 줄씩 띄우라고 해서 나는 숫자를 문자열로 바꿔서 \n 을 써서 두줄로 출력되게 했는데 강사님은 그냥 배열로 답이 [256, 41]로 출력되게 했다... 심화과정 했다고 생각해야지 ㅎㅎ push라는 c언어에서는 상상도 못할 강력한 함수도 의식적으로 잘 써보자.

//나의 코드
<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(arr){
                let sum=0, min=Number.MAX_SAFE_INTEGER;
                let answer=[];
                for(let i=0;i<arr.length;i++){
                    if(arr[i]%2 != 0){
                        sum+=arr[i];  
                        if(arr[i]<min) min=arr[i];
                    } 
                }
                String(sum);
                String(min);
                answer = sum+'\n'+min;
                return answer;
            }
            
            arr=[12, 77, 38, 41, 53, 92, 85];
            console.log(solution(arr));
        </script>
    </body>
</html>
//강사님 코드
<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            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));
        </script>
    </body>
</html>

'JS 알고리즘 문제풀이 > 섹션 1. 기본문제 풀이' 카테고리의 다른 글

8.일곱난쟁이  (0) 2022.01.11
7.10부제  (0) 2022.01.11
[보충] 내장함수로 최솟값, 최댓값 구하기  (0) 2022.01.11
5.최솟값 구하기  (0) 2022.01.11
4.1부터 N까지 합  (0) 2022.01.11