[Sort] 삽입 정렬 (Insertion Sort | Java)
·
CS/알고리즘
Insertion Sort 2번째 원소부터 시작하여 i-1(왼쪽)의 원소들과 비교하여 삽입할 위치를 지정한 후, 원소를 뒤로 옮기고 지정된 자리에 자료를 삽입하여 정렬하는 알고리즘이다. 최선의 경우 O(N)이라는 엄청나게 빠른 효율성을 가지고 있어, 다른 정렬 알고리즘의 일부로 사용될 만큼 좋은 정렬 알고리즘이다. 예제 1 public int[] solution(int[] arr) { if (arr == null) return null; int temp; for (int i = 1; i = 0; k--) { if (temp >= arr[k]) { break; } arr[k + 1] = arr[k..
[Sort] 거품 정렬 (Bubble Sort | Java)
·
CS/알고리즘
Bubble Sort N개의 원소를 가진 배열을 정리할 때, 서로 인접한 두 개의 데이터를 비교하고, 조건에 맞춰 자리를 교환하며 정리하는 알고리즘입니다. 시간 복잡도가 O(n^{2})로 상당히 느리지만, 코드가 단순하기 때문에 자주 사용되며. 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름입니다. 예시 1 void bubbleSort(int[] arr) { int temp = 0; for(int i = 0; i arr[j]) { // 3. // swap(arr[j-1], arr[j]) temp = arr[j-1]; ar..
[Java] 대용량 데이터 분석 - 4 (대한민국 인구 유동(전입, 전출) 데이터 분석 & 처리)
·
회고록/Archive
작업 전, 정리하기 자바에서 2021_인구관련연간자료_20221006_45659.csv파일을 읽는다. 읽은 파일의 내용 중 전출, 전입 코드 분석하여 split을 한 뒤 Class에 저장한다. 생산자에 대입된 Class의 정보를 txt파일로 저장한다. 저장된 txt파일을 읽은 뒤 차트 양식에 맞춰서 데이터를 수정한다. 수정된 데이터에 원하는 정보 값(지역별 인구 이동 결과)을 얻기 위한 가공을 시작한다. 가공된 정보를 차트 양식에 맞춰 txt 파일로 추출한다. 추출한 값을 차트 양식에 대입한다 HeatMap Chart Heat map | Highcharts.com Heatmap showing employee data per weekday. Heatmaps are commonly used to visual..
[Java] 대용량 데이터 분석 - 3
·
회고록/Archive
작업 전, 정리하기 자바에서 2021_인구관련연간자료_20221006_45659.csv파일을 읽는다. 읽은 파일의 내용 중 전출, 전입 코드 분석하여 split을 한 뒤 Class에 저장한다. 생산자에 대입된 Class의 정보를 txt파일로 저장한다. 저장된 txt파일을 읽은 뒤 차트 양식에 맞춰서 데이터를 수정한다. 수정된 데이터에 원하는 정보 값(지역별 인구 이동 결과)을 얻기 위한 가공을 시작한다. 가공된 정보를 차트 양식에 맞춰 txt 파일로 추출한다. 추출한 값을 차트 양식에 대입한다. 1. 저장된 txt 파일을 읽고 차트 양식에 맞춰서 데이터를 저장 public class PopulationStatistics { public static void main(String[] args) throws..
[Java] 대용량 데이터 분석 - 2
·
회고록/Archive
작업 전, 정리하기 자바에서 2021_인구관련연간자료_20221006_45659.csv파일을 읽는다. 읽은 파일의 내용 중 전출, 전입 코드 분석하여 split을 한 뒤 Class에 저장한다. 생산자에 대입된 Class의 정보를 txt파일로 저장한다. 저장된 txt파일을 읽은 뒤 차트 양식에 맞춰서 데이터를 수정한다. 수정된 데이터에 원하는 정보 값(지역별 인구 이동 결과)을 얻기 위한 가공을 시작한다. 가공된 정보를 차트 양식에 맞춰 txt 파일로 추출한다. 추출한 값을 차트 양식에 대입한다. 1. txt파일로 저장하기 public class PopulationStatistics { public static void main(String[] args) throws IOException { ... Pop..
[Java] 대용량 데이터 분석 - 1
·
회고록/Archive
작업 전, 정리하기 자바에서 2021_인구관련연간자료_20221006_45659.csv파일을 읽는다. 읽은 파일의 내용 중 전출, 전입 코드 분석하여 split을 한 뒤 Class에 저장한다. 생산자에 대입된 Class의 정보를 txt파일로 저장한다. 저장된 txt파일을 읽은 뒤 차트 양식에 맞춰서 데이터를 수정한다. 수정된 데이터에 원하는 정보 값(지역별 인구 이동 결과)을 얻기 위한 가공을 시작한다. 가공된 정보를 차트 양식에 맞춰 txt파일로 추출한다. 추출한 값을 차트 양식에 대입한다. 1. Class파일 생성 1. Population.java (Class) 전입과 전출에 대한 정보를 int값으로 받는 필드를 갖고 있습니다. public class PopulationMove { private in..
[Java] 대용량 데이터 분석 - 0
·
회고록/Archive
대용량 데이터 분석 멋쟁이 사자처럼 수업 중 진행한 대용량 데이터 분석 부분 정리. 대용량 데이터 레퍼런스 MDIS 마이크로데이터 통합 서비스라는 정부 사이트에서 제공하는 국내 인구 이동 통계 관련 정보를 받아 진행하였다. 6209323건의 데이터로 파악된다. https://mdis.kostat.go.kr/ 데이터 시각화 오픈소스로 제공하는 히트맵 차트를 활용하여 가공한 데이터를 시각화하여 인구 이동 숫자를 히트맵 형식으로 파악할 수 있도록 진행하였다. https://www.highcharts.com/demo/heatmap
[Error] 대용량 데이터 처리 중 BufferedWriter Split 후 데이터 누락
·
Server/Error
Split 후 데이터가 누락되는 상황 csv 파일의 6209323건의 데이터를 전달받아 ","를 기준으로 Split을 진행하던 도중 배열에서 ArrayIndexOutOfBoundsException에러가 발생하여 더 이상 진행되지 않는 상황이 발생하였다. 에러가 발생하는 해당 txt 파일을 확인해 보니 ... 50,50 50,50 50으로 데이터가 전달받다가 끊긴 상황이었다. 무엇이 문제인지 코드를 하나하나 다시 뜯어보고 처음부터 다시 그려보던 도중 눈에 들어왔던 코드가 bw.close() 였다. public void write(List strs, String filename) { File file = new File(filename); try { BufferedWriter bw = new Buffered..
코드플리
코드 플레이 리스트