🌻 JAVA

🌻 JAVA/알고리즘, 자료구조

알고리즘 - 이분 탐색 (Binary Search)

안녕하세요, 알고리즘을 정리하는 포스팅입니다. 다른 알고리즘을 참고하시려면 해당 카테고리를 이용해주세요. 😊 '🌻 JAVA/알고리즘, 자료구조' 카테고리의 글 목록 공부한 것들 정리한 내용을 포스팅합니다. iseunghan.tistory.com 이분 탐색 (Binary Search) 이분 탐색은 탐색 범위를 두개로 나눠서 탐색하기 때문에 훨씬 빠른 탐색 알고리즘입니다. 처음부터 차례대로 탐색 : O(N) 시간 복잡도 : O(log N) 과정 0. 탐색하기 위한 배열, 찾고자 하는 값 : 9 (이하 Target) 1. 먼저 배열을 정렬시킵니다. 2. 인덱스 L, R, MID를 지정해줍니다. 3. if (Target == arr[M]) if(target == arr[M]) { return M; } 4. el..

🌻 JAVA/알고리즘, 자료구조

알고리즘 - 버블 정렬 (Bubble Sort)

안녕하세요, 알고리즘을 정리하는 포스팅입니다. 다른 알고리즘을 참고하시려면 해당 카테고리를 이용해주세요. 😊 '🌻 JAVA/알고리즘, 자료구조' 카테고리의 글 목록 공부한 것들 정리한 내용을 포스팅합니다. iseunghan.tistory.com 버블 정렬 (Bubble Sort) 버블 정렬은 인접한 두 원소를 비교해 자리를 바꿔나가면서 정렬하는 알고리즘입니다. 시간 복잡도 : O(N^2) 공간 복잡도 : O(N) 안정 정렬 과정 첫 번째 원소부터 마지막 원소까지 차례대로 인접한 원소를 비교합니다. 서로 비교하여 앞 원소가 더 크다면 서로 위치를 교환해줍니다. 이렇게 한 사이클이 완료가 되면, 해당 사이클에 마지막에 위치시킨 원소는 정렬이 완료된 것을 알 수 있습니다. (중요 : 아래에서 설명) Code ..

🌻 JAVA/정리정리정리

[JAVA] 문자열 여러 개 공백을 제거하기 (정규표현식)

서론 알고리즘 문제 풀다가, 2개 이상의 여러 개 공백을 하나의 공백으로 바꿔야 하는 문제가 있었는데, 이 참에 정리하려고 합니다. 문제 "내용에서 2개 이상의 공백을 하나의 공백으로 바꿔 주세요." 원하는 결과 "내용에서 2개 이상의 공백을 하나의 공백으로 바꿔 주세요." 정규표현식 String str = "내용에서 2개 이상의 공백을 하나의 공백으로 바꿔 주세요."; String result = str.replaceAll("\\s+", " "); System.out.print(result); 실행 결과 앞으로 정규 표현식에 대해서 잘 알고있으면 좋을 것 같습니다. 감사합니다.

🌻 JAVA/알고리즘, 자료구조

알고리즘 - 삽입 정렬 (Insertion Sort)

안녕하세요, 알고리즘을 정리하는 포스팅입니다. 다른 알고리즘을 참고하시려면 해당 카테고리를 이용해주세요. 😊 '🌻 JAVA/알고리즘, 자료구조' 카테고리의 글 목록 공부한 것들 정리한 내용을 포스팅합니다. iseunghan.tistory.com 삽입 정렬 (Insertion Sort) 삽입 정렬은 2 번째 원소부터 마지막 원소까지 순차적으로, 해당 원소부터 1 번째 원소까지 비교를 하며 삽입해 나가는 정렬입니다. 시간 복잡도 : O(N^2) 공간 복잡도 : O(N) 안정 정렬 과정 2 번째 원소부터 시작하여 마지막 원소까지 순차적으로 정렬을 진행합니다. 1번 과정에서 i 번째 원소부터 시작했다면, i 번째부터 1 번째 원소까지 비교를 하며 삽입해 나아가는 정렬입니다. 앞에서 이미 정렬을 완료했기 때문에 ..

🌻 JAVA/알고리즘, 자료구조

알고리즘 - 선택 정렬 (Selection Sort)

안녕하세요, 알고리즘을 정리하는 포스팅입니다. 다른 알고리즘을 참고하시려면 해당 카테고리를 이용해주세요. 😊 '🌻 JAVA/알고리즘, 자료구조' 카테고리의 글 목록 공부한 것들 정리한 내용을 포스팅합니다. iseunghan.tistory.com 선택 정렬 (Selection Sort) 정렬하여 원소를 배치할 자리를 미리 정해놓고, 해당 자리에 넣을 원소를 선택하는 알고리즘입니다. 개인적으로 삽입 정렬과 헷갈린 정렬,, 선택 정렬은 넣을 자리를 미리 지정하고, 삽입 정렬은 1 번째부터 n번째 원소를 앞의 원소와 비교하며 삽입해 나가는 차이가 있다. (헷갈림..) 시간 복잡도 : O(N^2) 공간 복잡도 : O(N) 불안정 정렬 과정 먼저 1 번째 자리에 올 원소를 선택할 것입니다. 첫 번째 원소부터 마지막..

🌻 JAVA/알고리즘, 자료구조

알고리즘 - 퀵 정렬 (Quick-Sort)

안녕하세요, 알고리즘을 정리하는 포스팅입니다. 다른 알고리즘을 참고하시려면 해당 카테고리를 이용해주세요. 😊 '🌻 JAVA/알고리즘, 자료구조' 카테고리의 글 목록 공부한 것들 정리한 내용을 포스팅합니다. iseunghan.tistory.com Quick Sort Quick Sort는 real-world 데이터에서 빠르다고 알려져 가장 많이 쓰는 정렬 알고리즘입니다. pivot이라는 것을 지정하여 pivot 왼쪽으로는 pivot보다 작은 값들을, 오른쪽에는 pivot보다 큰 값들을 재배치하며, 계속하여 분할하여 정렬하는 알고리즘입니다. Quick Sort는 분할 정복 방법을 통해 정렬합니다. Merge Sort와 달리 Quick Sort는 비균등하게 분할합니다. 불안정 정렬에 속합니다. 시간 복잡도 : ..

iseunghan
'🌻 JAVA' 카테고리의 글 목록 (3 Page)