코딩테스트/알고리즘

안녕하세요 오늘으 알고리즘 문제를 풀다보면 꼭 알아야하는 시간복잡도에 대하여 알아보겠습니다 ✔ 실제 시간 복잡도를 정의하는 3가지 유형이 있습니다 💡 시간 복잡도 유형 빅-오메가(Big-Ω) = 최선일 때 연산 횟수 빅-세타(Big-θ) = 보통일 때 연산 횟수 빅-오(Big-O) = 최악일 때 연산 횟수 public class Ex { public static void main(String[] args) { //1~100사이의 랜덤값 선택 int randomNum = (int)(Math.random()*100); for (int i = 0; i 1,000,000,000,000 > 200,000,000(부적합) → 병합 정렬 ⇒ 1,000,000log(1,000,000) = 2,000,000 (적합) 이..
알고리즘 문제를 풀다보면 가끔 재귀함수 문제를 만나게 됩니다. 제 경험상 대부분을 재귀함수 문제들은 대부분 팩토리얼 관련된 문제로 접하였습니다. 재귀함수는 함수가 자기 자신을 호출하는 방법으로 동작을 합니다. 간단한 예제를 통해서 알아보도록 하겠습니다. 1) 아래 예제가 간단한 팩토리얼 예제 입니다. // 팩토리얼(재귀함수) 알고리즘 public class RecursiveFactorial { public static int factorial(int n) { //메인에있는 파라미터5를 입력 받음 //재귀함수 알고리즘 if (n 1 return) 이런식으로 생각을 하면 편할 것 같습니다