분류 전체보기
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/b6PSJQ/btsFOkKxEw0/qulpjU8GQ7vqv5qS5ZRTQK/img.png)
![](https://tistory1.daumcdn.net/tistory/5601080/skin/images/no-image.jpg)
1. 누적합 (Prefix Sum) 누적합을 왜 써야함? 정의 : 누적 합이란 배열의 각 요소에 대해 그 요소까지의 모든 요소의 합을 저장하는 방식. 쓰는 이유 1. 구간합을 빠르게 구하기 위해서 2. 특정값이 구간에 있는지 확인하기 위해서 1. 구간합을 빠르게 구하는 경우 배열에서 구간합을 구하는 경우일 때 사용한다. int[] arr = {1, 2, 3, 4, 5}; int[] prefixSum = new int[arr.length]; prefixSum[0] = arr[0]; for (int i = 1; i < arr.length; i++) { prefixSum[i] = prefixSum[i - 1] + arr[i]; } int start = 1; int end = 3; int sum = prefix..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/t5Wg2/btsFK1ys0V3/BYDEdNVTkqMUGvOlhSGEi1/img.png)
![](https://tistory1.daumcdn.net/tistory/5601080/skin/images/no-image.jpg)
키워드 : 라이브러리, 프레임워크, 디자인패턴 Q1. 라이브러리와 프레임 워크의 차이점은 뭔가요? 1. 라이브러리 (Library) 정의 : 공통으로 사용될 수 있는 특정한 기능들을 모듈화 한것을 의미한다. 라이브러리는 개발에 필요한 것들은 미리 구현해놓은 도구라고 할 수 있겠다. 재사용이 가능한 기능들을 미리 구현해놓고, 필요한 곳에서 호출하여 사용이 가능하도록 만들어진 집합이다. 특징 폴더명, 파일명 등에 대한 규칙이 없고, 프레임 워크에 비해 자유롭다. 라이브러리는 제어의 역전 (Inversion of Control) 개념을 따르지 않는다. 개발자가 라이브러리를 호출하여 사용하는 것이지, 라이브러리가 개발자의 코드를 호출하는 것은 아니다. 비유 : 무언가를 자를때 '도구' 인 '가위'를 사용해서 '..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/OFIby/btsFLVMchF4/JqKn4asxbTrKihDp2HY600/img.png)
![](https://tistory1.daumcdn.net/tistory/5601080/skin/images/no-image.jpg)
지난시간에는.. 1. 개요 명심을 해야하는것 1. 예전에 뭐뭐가 나왔어요 해서 그것만 준비해서는 안됨. 예를 들어서 BFS / DFS 가 나왔다고 해서 그것만 준비를 해서는 안된다. 2. 알고리즘 전반적인 것을 준비해야함. 전반적인것은 다음과 같다. 1. 복잡도 재귀함수 2. 그래프 이론, DFS, BFS 3. 트리 순회 4. 완전탐색, 백트래킹 5. 비트 마스킹 6. 그리디, 라인스위핑 7. 투포인터 8. 이분탐색 9. LIS (최대증가 부분수열) 10. DP 11. 펜웩트리와 최단거리 알고리즘 3. 그렇다고 해서 잘 나오지 않는 '세그먼트 트리' 를 공부하라고 하는 것은 안됨. 4. 전반적인 알고리즘과 보강을 하는 것이 좋음. 2. 구현 (Implementation) 구현이란... 1. 구현이란, 머..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/OwLrt/btsFDXaWd6r/vulGFLYRiKtkkixuvzHSdK/img.png)
![](https://tistory1.daumcdn.net/tistory/5601080/skin/images/no-image.jpg)
이 포스트는 형상관리에 대한 포스트입니다. 추후에 형상관리 및 Git 추가 될 예정입니다. SVN (Subversion) Subversion은 버전 관리 시스템(VCS) 중 하나이다. 1. SVN은 중앙 집중식 버전 관리 시스템(CVCS)의 한 예이다. 2. 모든 파일과 변경 이력을 서버에 저장하며 사용자는 이 중앙 저장소에서 파일을 체크아웃하여 작업한 후 변경 사항을 다시 서버에 Commit한다. 3. 이 과정을 통해 파일의 버전 관리가 이루어지며, 언제든지 이전 버전으로 Rollback할 수 있는 장점이 있다. SVM의 주요 특징 1. 버전 관리 SVN은 파일 및 디렉토리의 버전을 관리하며, 각 커밋은 고유한 버전 번호를 가진다. 이를 통해 개발자는 특정 시점의 프로젝트 상태를 복원하거나 변경 사항을..
![](https://tistory1.daumcdn.net/tistory/5601080/skin/images/no-image.jpg)
![](https://tistory1.daumcdn.net/tistory/5601080/skin/images/no-image.jpg)
![](https://tistory1.daumcdn.net/tistory/5601080/skin/images/no-image.jpg)
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/3hbaO/btsDjWdV5TS/7KIEJKvtk7MyrqT9yDkZWk/img.png)
![](https://tistory1.daumcdn.net/tistory/5601080/skin/images/no-image.jpg)
1. 메서드 호출 이 메서드는 어떤곳에서는 함수라고도 불리는게 더 익숙하다 이 메서드의 특징들을 알바보자 메서드의 반환값은 없을수도 있고, 여러개일수도 있다. 작업결과가 있으룻도 있고 없을수도 있다. 작업을 마치면 호출한곳으로 돌아간다. 2. 메서드의 실행흐름 이 메서드는 어떤곳에서는 함수라고도 불리는게 더 익숙하다 이 메서드의 특징들을 알바보자 메서드가 포함된 인스턴스 생성 메서드 호출 매개변수가 있으면 메서드 안에 복사 대입 문장수행 return 을 만나서 값 반환 or 반환형이 아니면 문장 종료 호출한 자리로 돌아감