안녕하세요! 강창민 튜터입니다. 오늘은 저번 시간보다는 다소 배워야 할 것이 있습니다만 긴장하지 마시고 찬찬히 따라오시면 됩니다!
<aside> 💡 시간 복잡도는 꼭 최악의 경우를 기준으로 계산하도록 하세요!
</aside>
정의
사례 1
function find_max_num(array) {
for (let num of array) {
let isMax = true;
for (let compare_num of array) {
if (num < compare_num) {
isMax = false;
break;
}
}
if (isMax) {
return num;
}
}
}
console.log("정답 = 6 / 현재 풀이 값 = ", find_max_num([3, 5, 6, 1, 2, 4]));
console.log("정답 = 6 / 현재 풀이 값 = ", find_max_num([6, 6, 6]));
console.log("정답 = 1888 / 현재 풀이 값 = ", find_max_num([6, 9, 2, 7, 1888]));
for (let num of array) { // array 의 길이만큼 아래 연산이 실행
let isMax = true;
for (let compare_num of array) { // array 의 길이만큼 아래 연산이 실행
if (num < compare_num) { // 비교 연산 1번 실행
isMax = false;
break;
}
}
if (isMax) { // 비교 연산 1번 실행하지만 미미하므로 편의상 실행시간엔 포함시키지 않을게요!
return num;
}
}
사례 2
function find_max_num(array) {
let max_num = array[0];
for (let num of array) {
if (num > max_num) {
max_num = num;
}
}
return max_num;
}
console.log("정답 = 6 / 현재 풀이 값 = ", find_max_num([3, 5, 6, 1, 2, 4]));
console.log("정답 = 6 / 현재 풀이 값 = ", find_max_num([6, 6, 6]));
console.log("정답 = 1888 / 현재 풀이 값 = ", find_max_num([6, 9, 2, 7, 1888]));
let max_num = array[0]; // 연산 1번 실행
for (let num of array) { // array 의 길이만큼 아래 연산이 실행
if (num > max_num) { // 비교 연산 1번 실행
max_num = num; // 대입 연산 1번 실행
}
}