Computer Science/알고리즘 🧮2024. 2. 7. 20:35유클리드 호제법으로 최대공약수 구하기
기존의 최대 공약수를 구하는 방법 public int getGreatestCommonDivisor(int num1, int num2) { int little = num1 b)에 대하여, a를 b로 나눈 나머지를 r이라고 하겠습니다. a = bq + r 로 나타낼 수 있습니다. (여기서 q는 몫을 나타냅니다) a와 b의 공약수..
Computer Science/알고리즘 🧮2024. 2. 2. 00:33시간 복잡도 계산하는 방법
좋은 알고리즘은 무엇일까? 개발자는 좋은 알고리즘을 만들어야 하는 숙명을 가지고 있습니다. 같은 기능이라도, 좋은 알고리즘을 사용한 코드는 더 메모리 사용량이 적거나 빠른 속도를 제공하기 때문입니다. 방금 말했듯, 우리는 알고리즘의 성능 척도를 메모리를 얼마나 사용하느냐, 실행 속도가 얼마나 빠르냐 등으로 나타냅니다. 사용자의 요구에 따라 다르겠지만, 일반적으로 우리는 알고리즘을 설계할 때 실행 속도를 기준으로 성능을 계산하는데요, 이 기준을 시간 복잡도 라고 부릅니다. 시간 복잡도는 어떻게 구하나요? 우리가 어떤 코드를 실행시켰는데, A가 구현한 코드는 실행에 5초가 걸리고, B가 구현한 코드는 실행에 3초가 소요되었습니다. 그렇다면 B가 구현한 코드가 A가 구현한 코드보다 좋은 알고리즘을 가지고 있다..