[💻알고리즘] Time Complexity(시간 복잡도)

    취업을 위해 코딩테스트를 본격적으로 준비하기 전, "효율적인 알고리즘"이란 무엇인가에 대한 고민을 해보았다. 아래 글은 여러 블로그와 인프런의 'Do it! 알고리즘 코딩테스트 with JAVA' 강의를 보고 내린 답이다. 주어진 문제를 풀기 위한 효율적인 방법을 고민한다는 것은 시간 복잡도를 고민한다는 것과 같은 말이다. 🌈시간복잡도 "문제를 해결하기 위한 알고리즘의 로직을 코드로 구현할 때, 시간 복잡도를 고려한다는 것"은 무슨 의미일까? 입력값의 변화에 따라 연산을 실행할 때 연산 횟수에 비해 시간이 얼마만큼 걸리는가를 고려한다는 의미라고 필자는 생각한다. 효율적인 알고리즘을 구현하였다는 것은 다시 말해 입력 값이 커짐에 따라 증가하는 시간의 비율을 최소화한 알고리즘을 구성하였다는 이야기이다. 🌈B..