시간복잡도 2

[코딩테스트 문제 풀이 전략] 시간 복잡도 / 시간 복잡도 줄이는 Tip

1. 시간 복잡도란 ? 코드를 실행하면 원하는 기능을 수행하고 종료되기까지 시간이 소요되는데, 이를 더 효율적이고 빠르게 작동시키고 싶다면 어느 알고리즘이 더 효율적인지 비교할 수 있는 '기준'이 필요하다. 문제 해결에 필요한 입력 값과 문제를 해결하는 프로그램이 주어졌을 때, 프로그램이 입력값을 받아 동작하고 결과를 만들어내는데 걸리는 정도를 복잡도라고 한다. 그 중에서 얼마나 시간이 걸리는지는 시간 복잡도로 평가하고, 얼마나 많은 메모리를 사용하는지는 공간 복잡도로 평가한다. 코딩테스트에서는 가장 먼저 제시된 '제한 시간'과 '메모리 사용량'을 확인한 후, 조건에 맞게 실행되도록 자료구조와 알고리즘을 선택하고 문제를 풀어야 한다 ⭐️⭐️⭐️⭐️ 🚨 프로그래머스에서는 특별한 언급이 없다면 제한 시간이 ..

Algorithm 2023.12.28

[Algorithm] 시간복잡도 & 공간복잡도

자료구조란 ? 효율적으로 데이터를 저장하고 관리할 수 있는 데이터 집합 1. 복잡도 먼저 복잡도란 '알고리즘의 성능과 효율성을 나타내는 척도'입니다. 크게 시간 복잡도와 공간 복잡도로 나눌 수 있다. 알고리즘을 성능을 평가할 때 주로 수행 시간과 메모리 사용량을 기준으로 두는데, 이 중 수행 시간에 해당하는 것이 시간 복잡도이고 메모리 사용량에 해당하는 것이 공간 복잡도이다. 1-1. 시간 복잡도 시간 복잡도란 프로그램에서 특정 크기의 입력을 기준으로 할 때 수행되는 연산의 횟수를 나타낸다. 최선의 경우 (Best Case) 최적의 입력을 한 상태에서, 작업을 완료하는 데 필요한 연산 횟수 최악의 경우 (Worst Case) 최악의 입력을 한 상태에서, 작업을 완료하는 데 필요한 연산 횟수 평균의 경우 ..

Algorithm 2023.11.26