반응형 SMALL 전체 글118 퀵 정렬(1) : 구간 시작점 다음 수를 피벗으로 설정 - 가장 빠른 정렬 알고리즘 중 하나 - 피벗을 기준으로 배열을 더이상 분해할 수 없을 때까지(그룹 요소의 개수가 1개인 경우) 분해한다. - 평균 시간 복잡도 : O(n logn) - 최악 시간 복잡도 : O(n^2) ex> 이미 정렬이 되어 있는 경우, 매번 단 하나의 요소와 나머지 요소로 나누어지는 경우 -> 이 때는 삽입정렬이 더 빠르다. 퀵 정렬 예시 start, end : 구간의 시작점과 끝점 pivot: 그룹을 나누는 기준점(인덱스가 아닌 들어있는 값임) left, right: 인덱스 값 1. 가장 왼쪽에 있는 수(5)를 피벗으로 지정한다. 2. left부터 오른쪽으로 가면서 피벗보다 큰 값을 가진 인덱스 를 찾을 때까지 left의 값을 증가시킨다. ex> 7 3. right부터 왼쪽으로 가.. 2020. 9. 25. 백준 1065번 : 한수 1. 문제조건의 자연수 N -> 1 2*b = a+c 3. 예제를 보면 110까지의 한수는 99개가 있다. 그런데 여기서 100부터 110까지 한수는 없다. 즉, 1~99 모두를 한수로 보고있다는 뜻이다. => 세 자릿수만 파악하면 되겠구나 4. 이후 쭉 작성 package Baekjoon; import java.util.Scanner; public class Main { static int count=0; public static void main(String[]args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); if(n>=1 && n 2020. 9. 24. 백준 4673번 : 셀프넘버 1. 각 자릿수를 더해주기 위해서는 각 자릿수가 무엇인지 먼저 알아야되기 때문에 이를 알아내는 과정을 먼저 작성했다. 이 방법은 너무 자주 사용되어서 익숙해졌다. 2. 이렇게 해서 셀프넘버가 아닌 숫자는 다 구했었는데 셀프넘버를 어떻게 골라낼지 생각하는 과정에서 대부분의 시간을 쏟았다. 3. 제일 먼저 떠오른건 배열이었지만, 배열말고 다른 방법이 없을까 고민하다가 결국 배열을 사용했다. 4. 이 문제를 풀면서 자바 배열을 boolean으로 초기화 할 수 있다는 사실과, new로 생성할 경우 모든 값이 false로 초기화 된다는 것을 처음 알았다. 5. 셀프넘버가 아닌 수를 idx값으로 하여 해당 인덱스를 가지고 있는 배열 값을 true로 바꿔준 후, 마지막에 for문을 돌려서 false인 값만 골라내주었.. 2020. 9. 24. [Git] 로컬저장소와 원격(remote)저장소 연동 1. github에 리포지토리 생성 2. 리포지토리 URL복사( ex> https://github.com/haeunsong/study.git ) 3. 로컬에서 프로젝트를 관리할 로컬 디렉토리 저장소를 새로 생성하고 $ git init 명령어 입력 -> 폴더 안에 .git 폴더 생성 (숨겨져있음) 4. $ git remote add origin 리포지토리주소를 입력한다-> origin이라는 이름으로 원격 저장소가 등록되었다는 의미 -> origin말고 다른 이름으로 해도 된다.(ex> $ git remote add react 주소) -> $ git remote -v 를 입력하면 내가 설정해둔 원격저장소 이름(별칭)과 URL을 확인할 수 있다. -> 만약 원격연결을 해제하고 싶으면 $ git remote r.. 2020. 9. 20. 이전 1 ··· 20 21 22 23 24 25 26 ··· 30 다음 반응형 LIST