개발환경, 도구/알고리즘 3

알고리즘

Array 배열 기초개념? 10분안에 정리해줌! - YouTube 검색 알고리즘? 기초개념 잡아드림. 10분 순삭. - YouTube 배열 1. 배열은 연결된 메모리 공간을 사용함. 2. 따라서, 배열은 빈칸이 없도록 데이터를 유지해야 . 3. 따라서, 연결된 순서값인 index를 가지고 특정위치값을 읽는 'Read'는 쉽지만, 무엇이 들었는지 모르는 중에서 찾아야 하는 'Search'와 공간을 옮겨갸 하는 'Add', 'Delete'는 시간이 많이 걸림. 탐색 1. 선형 탐색 (Linear Search) - 순서대로 탐색하는 것 2. 이진탐색 (Binary Search) - 정렬된 배열의 중간값부터 탐색하는 것 이진 탐색의 전제조건은 정렬된 리스트-이진탐색이다. 만약, 리스트가 정렬되지 않은 상태라면 ..

java 코딩 테스트 팁

작성 배경 코딩테스트 문제를 풀면서 사용되는 로직 중 몰랐던 부분이나 추가로 공부한 내용을 기록해두려고 합니다. 전체 소스는 개인 github에 올려두었습니다. jeoningu/AlgorithemTest: 알고리즘/코딩테스트 (github.com) 본론 코딩테스트 연습 - 크기가 작은 부분 문자열 | 프로그래머스 스쿨 (programmers.co.kr) -숫자 길이가 10자리를 넘으면 int의 표현범위(약 21억, 10자리)를 넘어서기 때문에 long을 사용해야한다. 코딩테스트 연습 - 개인정보 수집 유효기간 | 프로그래머스 스쿨 (programmers.co.kr) - 날짜 계산 시에 날짜 값을 만들어서 계산하면 편하다. // 모든 달은 28일까지 있다고 가정합니다. private int calculat..

시간복잡도

배경 코딩 테스트 공부를 하다가 시간복잡도 개념을 확실히 하기 위해 정리하였습니다. 본론 시간복잡도란? - 시간 복잡도란 알고리즘의 연산횟수를 나타내는 척도입니다. - 시간 복잡도는 일반적으로 최악의 경우를 나타내는 빅오 표기법을 사용합니다. - 빅오 표기법은 연산횟수를 다항식으로 표현하여 최고차항의 계수를 제외시켜 나타내기 때문에 반복문의 반복 횟수를 계산하면 됩니다. tip - 연산 횟수는 데이터입출력(copy,move),산술연산(add,multiply),제어연산(if,while,for)이 있습니다. - 연산 횟수 중에서 반복문(for,while)의 반복횟수를 계산하면 빅오표기법을 간단하게 계산할 수 있습니다. 아래 예시를 보면 알 수 있습니다. int func (int n) { int sum = 0..