전체 글(61)
-
Insert Sort(삽입정렬)
삽입정렬이란? 삽입정렬(Insert Sort)은 정렬되어 있는 부분집합에 정렬할 새로운 원소의 위치를 찾아 삽입하는 방법이다. 삽입정렬에서 정렬할 자료가 두개가 있다. 먼저 S(Sorted)와 U(United)로 나누어져 있다. 앞부분 원소부터 정렬을 수행하여 정렬된 앞부분의 원소들은 부분집합 S가 되고 아직 정렬되지 않은 나머지 원소들은 부분집합 U가 된다. 정렬되지 않은 부분집합 U의 원소를 하나씩 꺼내서 이미 정렬되어 있는 부분집합 S의 마지막 원소부터 비교하면서 위치를 찾아 삽입하여 부분집합 S의 원소는 하나씩 늘리고 부분집합 U의 원소는 하나씩 줄인다. U의 원소를 모두 삽입하여 공집합이 되면 삽입 정렬이 완성된다. 위의 글처럼 책에서는 삽입정렬의 정의가 기술되어있다. 쉽게 말해서 두개 리스트로..
2020.03.19 -
Kadane 알고리즘
Kadane 알고리즘 1234567891011121314151617181920212223242526272829import java.io.*;// Java program to print largest contiguous array sumimport java.util.*; class Kadane{ public static void main (String[] args) { int [] a = {-2, -3, 4, -1, -2, 1, 5, -3}; System.out.println("Maximum contiguous sum is " + maxSubArraySum(a)); } static int maxSubArraySum(int a[]) { int size = a.length; int max_so_far = In..
2017.07.25 -
dropbox 용량 늘리기(친구초대)
안녕하세요. 드랍박스를 자주 사용하는데요. 용량이 이제 없네요.혹시 드랍박스 사용하려고 하는 분은 https://db.tt/rOf2EZmT 여기 링크 클릭해서 가입하세요! 왜냐하면 저도 500메가 받고 가입한 사람도 500메가 보너스를 받기 때문이죠! 서로서로 좋은 일이잖아요! ㅋㅋㅋㅋ 이왕 가입하는거 이 링크를 통해 500메가 받아가세요! ㅋㅋㅋ제발~~~
2017.06.04 -
백준 9095번 1,2,3 더하기
문제 1,2,3 더하기 일단 DP문제라서 DP로 푸려고 노력을 하였다.그렇지만 아직 나에겐 역부족이었다 ㅠㅠㅠ 그래서 다른 블로그를 참고해서 답안을 생각했다. 일단 간단하게 이야기 하자면 1,2,3으로 이루어진 숫자 N의 경우의 수를 보면 f(N) = f(N-3) +f(N-2)+f(N-1)을 하면 구할 수 있다. ( ※f(N) = 숫자 N의 경우의 수이다. )예를 들면 숫자 N=4 라고 한다면 f(4) = f(1)+f(2)+f(3)즉 1,2,3의 경우의 수를 더하면 숫자 4의 경우의 수를 구할 수 있다. 만약 숫자 1,2로만 이루어져 있다면점화식은 f(N) = f(N-2)+f(N-1) 이렇게 될 것이다. 하지만 문제는 1,2,3으로 이루어져있어서 f(N) = f(N-3) +f(N-2)+f(N-1)점화식이..
2017.02.27 -
백준 1991번 트리순회
문제 설명 : 트리를 배열로 표현하였다. 근데 계속 런타임 에러가 나서 고생하였다. 문제는 배열의 크기였다. 트리의 높이(Level)가 N이면 최대 노드 갯수는 이다. 입력이 1 0) {//N만큼 입력 받기 StringTokenizer st = new StringTokenizer(br.readLine().trim()); char data = st.nextToken().charAt(0); for (int i = 1; i
2017.01.25