인프런 커뮤니티 질문&답변
도와주세요 선생님
작성
·
187
1
선생님 add<min 이렇게하면 min는 최대값이니 당연히 min에 add값이 할당된다는건 이해했는데 왜 여기서 최소값만 들어갈까요?
다른홀수값도 다 min보다작기때문에 다른 홀수값도 출력되어야하는것이 아닌가요?
function solution(arr) {
answer = [];
sum = 0, min = Number.MAX_SAFE_INTEGER;
arr.forEach(add => {
if (add % 2 === 1) {
sum += add
if (add < min) {
min = add;
}
}
});
answer.push(sum)
answer.push(min);
return answer
}
퀴즈
46%나 틀려요. 한번 도전해보세요!
세 수 중 최솟값을 찾을 때, if 문만 사용한다면 어떤 방식으로 비교하는 것이 일반적인가요?
세 수를 한 번에 비교하여 가장 작은 수를 바로 찾습니다.
두 수의 최솟값을 먼저 찾고, 그 결과와 나머지 한 수를 비교합니다.
가장 큰 수를 먼저 찾은 후, 남은 두 수 중 작은 값을 찾습니다.
모든 가능한 쌍을 비교하여 가장 작은 값을 찾습니다.
답변 1
1
김태원
지식공유자
안녕하세요^^
min 변수는 하나의 값만 저장되는 변수입니다. min값이 자꾸 더 작은 새로운 값으로 변한다는 사실을 아셔야 합니다. add<min 처럼 기존 min값보다 add값이 더 작으면 min=add를 하게되면 기존 min에 저장되어 있던 값은 지워지고 add값이 저장되는 원리입니다.





