본문 바로가기
반응형

자바36

[Java][알고리즘][정렬] Insertion Sort / 삽입 정렬 삽입 정렬 정렬 안된 부분의 가장 왼쪽 원소를 정렬된 부분의 적절한 위치에 '삽입' 하는 것이다. 어느 정도 정렬이 되있는 상태의 배열에서는 좋은 성능을 낼 수 있다. 하지만 만약 역으로 정렬된 경우라면 선택, 버블 정렬과 같은 성능이 나온다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 public class Insertion { public static boolean isless(Comparable a, Comparable b) { return a.compareTo(b) 2019. 6. 17.
[Java][알고리즘][정렬] Bubble Sort / 버블 정렬 버블 정렬 이웃한 원소끼리 비교하여 작은 값을 앞쪽으로 보내 가장 큰 값을 정렬이 되지 않는 부분 중 가장 뒤로 보내는 것이다! 선택 정렬과 더불어 가장 간단한 정렬이다. 시간 복잡도는 O(N^2) 이다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 public class Bubble { public static void Sort(Comparable[] arr) { for(int i=arr.length-1; i>0; i--) { for(int j=0; j 2019. 6. 16.
[Java][백준][11650번] 좌표 정렬하기 문제 설명 (링크) 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 생각 이런 좌표가 주어지고 그 좌표의 정보가 2개 이상 주어진 경우는 클래스로 만들어서 하면 깔끔하고 좋다. 좌표 클래스를 만들고 변수로 x,y를 준다. 후에 Comparable를 상속하여 새로운 정렬 조건을 만들어준다. 코드 1 2 3.. 2019. 6. 2.
[Java][백준][1946] 신입사원 문제 설명 언제나 최고만을 지향하는 굴지의 대기업 진영 주식회사가 신규 사원 채용을 실시한다. 인재 선발 시험은 1차 서류심사와 2차 면접시험으로 이루어진다. 최고만을 지향한다는 기업의 이념에 따라 그들은 최고의 인재들만을 사원으로 선발하고 싶어 한다. 그래서 진영 주식회사는, 다른 모든 지원자와 비교했을 때 서류심사 성적과 면접시험 성적 중 적어도 하나가 다른 지원자보다 떨어지지 않는 자만 선발한다는 원칙을 세웠다. 즉, 어떤 지원자 A의 성적이 다른 어떤 지원자 B의 성적에 비해 서류 심사 결과와 면접 성적이 모두 떨어진다면 A는 결코 선발되지 않는다. 이러한 조건을 만족시키면서, 진영 주식회사가 이번 신규 사원 채용에서 선발할 수 있는 신입사원의 최대 인원수를 구하는 프로그램을 작성하시오. 첫째 줄.. 2019. 5. 31.
반응형