본문 바로가기

전체 글

(58)
자바 스터디 할래 1주차 과제 [목표] -> 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. [학습할 것] 1) JVM이란 무엇인가 -> JVM(Java Virtual Machine=자바 가상머신)이다. JVM은 자바 프로그램을 실행시키는 있어서 런타임 환경을 제공해주는 꼭 필요한 프로그램이다. 2) 컴파일 하는 방법 -> JAVA를 컴파일하는 방법은 아래와 같이 명령어로 실행한다. javac Java프로그램을 작성하였다. java 소스 파일이 들어있다. 아래와 같이 javac Test.java 명령어를 실행해서 컴파일을 실행한다. 컴파일을 하면 Test.class에 바이트코드로 작성된 클래스파일이 생긴다. 3) 실행하는 방법 -> 자바를 실행하는 방법은 아래 명령어와 같다. java 자바를 실행하니 결과를 볼수 있..
케이뱅크 사용 후기 안녕하세요! 오늘은 케이뱅크 사용 후기를 남기려고 하는데요. 전 원래 케이뱅크에 대해서 잘 몰랐거든요. 그런데 회사 프로젝트에서 케이뱅크 기업뱅크 시스템을 구축하면서 케이뱅크에 대해서 잘 알게 되었어요! 편리한 점은 제가 생각하는 세가지가 있는데요. 첫번째로는 24시간 365일 영업!! 아무래도 24시간이다보니깐 회사 점심시간에 은행 가야겠다라는 생각을 하지 않아도 되고 또 잠자기 전이나 생각날때 계좌 만들수도 있고요시간이 상관없으니깐 너무 좋더라고요. 두번째로는 24시간 고객센터 운영 고객센터 연결하려고 1시간이고 2시간이고 기다린적.....사람들 대부분 한번쯤은 겪어보셨을거에요. 케이뱅크는 그런걸 걱정할 필요가 전혀 없답니다. 24시간 채팅으로 문의할수 있어서 너무 좋아요! 언제든지 그때 그때 해결할..
Insert Sort(삽입정렬) 삽입정렬이란? 삽입정렬(Insert Sort)은 정렬되어 있는 부분집합에 정렬할 새로운 원소의 위치를 찾아 삽입하는 방법이다. 삽입정렬에서 정렬할 자료가 두개가 있다. 먼저 S(Sorted)와 U(United)로 나누어져 있다. 앞부분 원소부터 정렬을 수행하여 정렬된 앞부분의 원소들은 부분집합 S가 되고 아직 정렬되지 않은 나머지 원소들은 부분집합 U가 된다. 정렬되지 않은 부분집합 U의 원소를 하나씩 꺼내서 이미 정렬되어 있는 부분집합 S의 마지막 원소부터 비교하면서 위치를 찾아 삽입하여 부분집합 S의 원소는 하나씩 늘리고 부분집합 U의 원소는 하나씩 줄인다. U의 원소를 모두 삽입하여 공집합이 되면 삽입 정렬이 완성된다. 위의 글처럼 책에서는 삽입정렬의 정의가 기술되어있다. 쉽게 말해서 두개 리스트로..
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..
dropbox 용량 늘리기(친구초대) 안녕하세요. 드랍박스를 자주 사용하는데요. 용량이 이제 없네요.혹시 드랍박스 사용하려고 하는 분은 https://db.tt/rOf2EZmT 여기 링크 클릭해서 가입하세요! 왜냐하면 저도 500메가 받고 가입한 사람도 500메가 보너스를 받기 때문이죠! 서로서로 좋은 일이잖아요! ㅋㅋㅋㅋ 이왕 가입하는거 이 링크를 통해 500메가 받아가세요! ㅋㅋㅋ제발~~~
백준 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)점화식이..
백준 1991번 트리순회 문제 설명 : 트리를 배열로 표현하였다. 근데 계속 런타임 에러가 나서 고생하였다. 문제는 배열의 크기였다. 트리의 높이(Level)가 N이면 최대 노드 갯수는 이다. 입력이 1 0) {//N만큼 입력 받기 StringTokenizer st = new StringTokenizer(br.readLine().trim()); char data = st.nextToken().charAt(0); for (int i = 1; i
RadixSort 기수 정렬 java 기수 정렬이란? 기수 정렬(radix sort)은 낮은 자리수부터 비교하여 정렬해 간다는 것을 기본 개념으로 하는 정렬 알고리즘이다. 자릿수가 고정되어 있으니, 안정성이 있고(이때 데이터들 간의 상대적 순서는 보존되어야 한다.) 시간 복잡도는 {\displaystyle O(dn)}이다.({\displaystyle d}는 가장 큰 데이터의 자리수)기수 정렬은 비교 연산을 하지 않으며, 무엇보다도 전체 시간 복잡도 역시 {\displaystyle O(dn)}이어서, 정수와 같은 자료의 정렬 속도가 매우 빠르다. 하지만, 데이터 전체 크기에 기수 테이블의 크기만한 메모리가 더 필요하다. 기수 정렬은 정렬 방법의 특수성 때문에, 부동소수점 실수처럼 특수한 비교 연산이 필요한 데이터에는 적용할 수 없지만, 사용 ..