• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

제가 작성한 코드에 문제가 무엇일까요ㅠ

21.02.26 03:36 작성 조회수 158

0

function solution(arr) {
            let min = arr[0]
            for(let i=0; i<arr.length; i++){
                // return arr.length
                if(min>arr[i]){
                    min = arr[i];
                }
                return min;
            }
        }

        let arr = [5, 7, 1, 3, 2, 9, 11];
        console.log(solution(arr));

저는 최솟값을 배열의 0번지로 지정을해서 해당 값보다 더 작은값이 나오면 바꿔주게 작성을 하였는데 리턴값이 '5'로 출력이 됩니다. 

처음에는 5 > 7 작기때문에 5가 리턴되는건줄 알았는데

배열의 순서를 바꾸어 [5, 1, 7, ... ]을 해도 5가 리턴이 되어 해당 로직이 배열의 순서때문은 아니란것을 확인했습니다.

혹시 제 로직에 대해서 어디가 문제인지 알려주시면 감사하겠습니다..!

답변 2

·

답변을 작성해보세요.

0

rlawlsdn263님의 프로필

rlawlsdn263

2022.06.16

return을 사용하면 코드가 그대로 종료되기 때문에 for문이 바로 종료가 되버린 것 같아요!

0

안녕하세요^^

return min;  코드라인이 for 반복문이 끝난 다음에 있어야 합니다.

김란영님의 프로필

김란영

질문자

2021.02.26

헉..!! 그러네요!! 감사합니다!!! 다음부터는 어디에서 끝나는지 잘 확인해야겠어요!!