development/자료구조, 알고리즘 (3) 썸네일형 리스트형 프로그래머스- 분수의 덧셈 class Solution { public int[] solution(int numer1, int denom1, int numer2, int denom2) { int[] answer = {0, 0}; // 분수의 합 계산 answer[1] = denom1*denom2; answer[0] = numer1*denom2+numer2*denom1; // 최대공약수 계산 (유클리드 호제법) int min = Math.min(answer[0], answer[1]); int max = 1; for (int i = min; i >= 1; i--){ if(answer[0] % i == 0 && answer[1] % i == 0){ max = i; break; } } //값 대입 및 리턴 answer[0] /= max; .. Time Complexity 시간복잡도(Time Complexity) 입력값의 변화에 따라 연산 실행시, 연산 횟수와 관련해서 시간이 얼마나 걸리는지를 표현한 것 표기법 Big-O(빅-오) - 최악의 경우 고려 Big-Ω(빅-오메가) - 최선의 경우 고려 Big-θ(빅-세타) - 평균적인 경우 고려 이 중 Big - O 표기법이 가장 자주 사용된다 O(1) constant complexity라고 하며 입력값이 증가해도 시간이 늘어나지 않는다. O(log n) logarithmic complexity라고 하며 O(1)다음으로 빠른 시간 복잡도를 가진다 Binary Search Tree 구조가 대표적 O(n) linear complexity 라고 하며 입력값이 증가함에 따라 시간도 같은 비율로 증가한다 O(n^2) quadratic c.. 23.01.17 Stack, Queue, Tree, Graph Stack 데이터를 순차적으로 저장하고, 저장한 순서의 마지막부터 출력하는 자료구조 특징 // a,b,c,d를 스택에 push하고 3번 pop하기 //Integer형 스택 선언 Stack stack = new Stack(); stack.push(1); stack.push(2); stack.push(3); stack.push(4); --------------------------- a 이전 1 다음