[알고리즘8] 개발 시 시간복잡도 고려하기
by 뱁새유니버스개발을 할 때 시간복잡도와 공간복잡도를 고려해야합니다.
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));
}
}
반응형
'IT' 카테고리의 다른 글
[알고리즘10] 재귀호출 Branch와 Level을 입력받아 호출횟수 출력하기 (0) | 2023.09.20 |
---|---|
[알고리즘9] 재귀호출 이해하기 자바 이클립스 디버깅 (0) | 2023.09.20 |
[알고리즘7] 문자열 입력받고 중복제거 및 오름차순 문자열 출력하기 (0) | 2023.09.19 |
[알고리즘5] 색종이 붙이기 문제 (0) | 2023.09.19 |
[알고리즘6] DAT 자료구조 이해하기 (0) | 2023.09.19 |
블로그의 정보
가슴이 웅장해지는 모든것
뱁새유니버스