오늘의 한 일
- 알고리즘 특강
- 챌린지 반 강의
- 리액트 심화 강의
더 빠르게 최댓값과 최솟값을 구하는 방법
예시 코드1
function solution(s) {
let answer = '';
let nums = s.split(" ");
let MAX = nums[0];
let MIN = nums[0];
for(let num of nums){
let numN = Number(num);
if(numN > MAX) MAX = num;
if(numN < MIN) MIN = num;
}
answer = MIN + " " + MAX;
return answer;
}
- for 문을 총 2번 돌아야 하므로 시간 복잡도는 O(2n) = O(n)이다.
예시 코드2
function solution(s) {
let answer = '';
let nums = s.split(" ");
answer = Math.min(nums) + " " + Math.max(nums) ;
return answer;
}
- for 문을 총 2번 돌아야 하므로 시간 복잡도는 O(3n) = O(n)이다.
- 3n이므로 예시 코드1 보다 오래 걸릴 것 같지만 실제로는 시간이 더 적게 걸린다.
- 이유는 자바스크립트 표준 내장 객체의 메서드의 경우 c++로 동작하기 때문!
오늘의 회고
힘들었던 팀 프로젝트가 끝나고 개인 과제 주가 시작되었다. 이번 주와 다음 주 일정 역시 만만치 않지만 기대되는 건 팀원들에 대한 좋은 소문만 들린다는 것이다. 역시나 아직은 부담감이 있지만 이번에도 잘해내보고 싶다.