본문 바로가기

공부 기록/알고리즘

(19)
Do it! 알고리즘 코딩테스트 with JAVA - (3) 구간 합 구간 합 - 합 배열을 이용하여 시간 복잡도를 더 줄이기 위해 사용하는 특수한 목적의 알고리즘 - 합 배열을 미리 구해놓으면 기존 배열의 일정 범위의 합을 구하는 시간 복잡도가 O(N)에서 O(1)로 감소한다. - 구간 합 배열을 만드는 공식 : S[i] = S[i - 1] + A[i] - 구간 합을 구하는 공식 : i에서 j까지의 구간 합 => S[j] - S[i - 1] 문제 풀이 https://yurison.tistory.com/298 [백준/자바] 11659 - 구간 합 구하기 4 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in)..
Do it! 알고리즘 코딩테스트 with JAVA - (2) 디버깅 디버깅 - 프로그램에서 발생하는 문법 오류나 논리 오류를 찾아 바로잡는 과정 코딩테스트 팁 - 로그로 찍어보는 것도 나쁜 것은 아니지만 디버깅을 하는 것보다 시간이 오래 걸리고, 숲보다 나무를 보게 된다. - 테스트케이스 결과가 예기치 않은 음수가 나오는 경우 대부분 변수 자료형을 바꾸면 해결된다.(int -> long)
Do it! 알고리즘 코딩테스트 with JAVA - (1) 시간복잡도 시간복잡도 - 주어진 문제를 해결하기 위한 연산 횟수 - 일반적으로 1억 번의 연산 == 1초의 시간으로 예측한다. 유형(표기법) - 빅-오메가(최선일 때) - 빅-세타(보통일 때) - 빅-오(최악일 때) => 코딩 테스트에서 유념해야 하는 유형