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));
    }
}

 

반응형