현재 상황 개발자가 되기 위해서는 코딩 테스트는 필수이다. 나도 역시 적지 않은 시간 (어쩌면 적을지도..) 코딩 테스트를 준비해 왔다. 파이썬을 사용했으며 백준에서 문제를 풀면서 공부했다. 현재 골드3 수준으로 나와있는데 체감상 골드 정도까지는 아니고 왠만한 실버
알고리즘 선택의 기준이 되는 시간 복잡도 1. 시간 복잡도 정의하기 알고리즘에서 시간 복잡도는 주어진 문제를 해결하기 위한 연산 횟수를 말한다. 일반적으로 수행 시간은 1억 번의 연산을 1초의 시간으로 간주하여 예측한다. > 시간 복잡도 유형 빅-오메가 Ω(n)
프로그램에서 발생하는 문법 오류나 논리 오류를 찾아 바로잡는 과정을 디버깅 이라고 한다.디버깅을 하는 방법은 코드에서 디버깅하고자 하는 줄에 중단점을 설정하고, IDE의 디버깅 기능을 실행해 진행하면 된다. 구체적인 방법은 아래와 같다.디버깅 하는 법1\. 코드에서 디
배열 배열은 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조이다. 배열의 값은 인덱스를 통해 잠조할 수 있으며, 선언한 자료형의 값만 저장할 수 있다. 배열의 특징 인덱스를 사용하여 값에 바로 접근할 수 있다. 새로운 값을 삽입하거나 특정 인덱스에 있는
구간 합 이론 합 배열 S 정의 S[i] = A[0] + A[1] + A[2] + ... + A[i-1] + A[i] 합 배열을 미리 구해놓으면 기존 배열의 일정 범위의 합을 구하는 시간 복잡도가 O(N)에서 O(1)로 감소한다. 합 배열 S를 만드는 공식 S[i]
투 포인터는 2개의 포인터로 알고리즘의 시간 복잡도를 최적화한다. 알고리즘이 매우 간단하므로 바로 실전 문제를 풀어보자. 문제풀이 백준 2018번 교재에 나온 코드도 나의 풀이와 비슷하기 때문에 생략. 문제풀이 백준 1940번 수들을 배열에 담은 후 for문을