24. 04. 30 알고리즘 코드카타

프로그래머스 - 두 수의 곱

function solution(num1, num2) {
    return num1 * num2;
}
solution(3, 4);
solution(27, 19);

 


 

js 100제

 

3번 문제

var arr = [100, 200, 300];
console.log(typeof(arr));

의 결과는?

 

= object

 


알고리즘 특강 정리

 

시간 복잡도

-> 입력 크기에 대해 어떠한 알고리즘이 실행되는데 걸리는 시간이며, 주요 로직의 반복 횟수를 중점으로 측정된다.

그러나 시간은 컴퓨터 사양 등 여러 요소에 영향을 받으므로, 어떠한 알고리즘이 주어진 입력크기를 기반으로 어떠한 로직이 몇 번 반복되었는가를 중점으로 설명한다.

 

-> 그리고 시간 복잡도는 Big-O 표기법으로 표시한다.

 

 

Big-O 

 

! 상수와 같은 숫자들은 모두 1회 

 

1. O(1) = 상수 시간

언제나 일정한 시간이 걸리는 알고리즘

ex. 배열에서 특정 인덱스를 가져오는 것은 항상 동일한 시간이 걸린다.

 

2. O(n) = 선형 시간

입력 데이터 크기에 비례해 처리 시간도 늘어나는 알고리즘

ex. 배열의 모든 요소를 순회하는 경우를 말한다.

 

3. O(n^2)  = 이차 시간

입력 데이터 크기에 따라 시간이 제곱으로 증가하는 알고리즘

ex. 중첩 반복문을 사요하는 경우다.

 

4. O(log n) = 로그 시간

입력 데이터의 크기가 커질 수록 시간이 로그 함수의 형태로 증가하는 알고리즘


 

 

참고

 

'코딩테스트' 카테고리의 다른 글

두 수의 나눗셈  (0) 2024.05.08
몫 구하기  (0) 2024.05.07
입문 - 두 수의 차 / 2  (0) 2024.04.29
리트코드  (0) 2024.04.29
입문 - 두 수의 합 / 1  (0) 2024.04.26