IT
[알고리즘8] 개발 시 시간복잡도 고려하기
뱁새유니버스
2023. 9. 19. 17:06
개발을 할 때 시간복잡도와 공간복잡도를 고려해야합니다.
1. 시간복잡도 : 문제를 해결하는데 얼마나 걸렸는가? Problem Solving문제에서 1초 이내로 연산해야 한다.
2. 공간복잡도 : 메모리를 얼마나 사용했는가?
아래는 시간복잡도를 확인하는 코드입니다.
int A와 int B의 메서드는 같은 결과값을 출력하지만 연산량이 다릅니다.
package algorithm;
import java.util.HashSet;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main {
//n값에 따라 시간이 증가한다. -> O(n)
static int A(int n) {
int result = 0;
for (int i=0;i<=n;i++) {
result +=i;
}
return result;
}
//n값에 따라서 시간이 일정하다. -> O(1)
static int B(int n) {
return n * (n+1) /2 ;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(A(3));
System.out.println(A(5));
System.out.println(A(100));
System.out.println("그다음은B");
System.out.println(B(3));
System.out.println(B(5));
System.out.println(B(100));
}
}
반응형