[Algorithm] 선택 정렬(Selection Sort)
Devlopment/TIL2024. 4. 9. 02:08[Algorithm] 선택 정렬(Selection Sort)

선택 정렬 선택 정렬(Selection Sort)는 버블 정렬(Bubble Sort)와 유사한 알고리즘으로, 해당 순서에 원소를 넣을 위치는 이미 정해져 있고, 어떤 원소를 넣을지 선택하는 알고리즘입니다. 선택 정렬과 삽입 정렬(Insertio Sort)과 헷갈려할 수 있는데, 선택 정렬은 배열에서 해당 자리를 선택하고 그 자리에 오는 값을 찾는 것이라고 생각하면 편하다. Process (Ascending) 1. 주어진 배열 중에 최소값을 찾는다. 2. 그 값을 맨 앞에 위치한 값과 교체한다. (Pass) 3. 맨 처음 위치를 뺀 나머지 배열을 같은 방법으로 교체한다. Java Code (Ascending) void selectionSort(int[] arr){ int indexMin, temp; for..

[Eclipse] 이클립스 레이아웃 초기화
Devlopment/Error2024. 4. 4. 19:29[Eclipse] 이클립스 레이아웃 초기화

sts4 자체가 이클립스 기반인데 소스코드를 닫으면 자꾸 console창이 전체화면이 되고 고정이 되지 않았다. 무슨 설정을 잘못 건들인 건지 모르겠지만 이클립스 레이아웃을 초기화하면 고칠 수 있다 이클립스 Window-Perspective-Reset Persepective 를 눌러주면 이클립스 레이아웃이 초기화된다. 이주정도 소스코드가 지멋대로였던 게 고쳐졌다.

[Algorithm] 거품 정렬 (Bubble Sort)
Devlopment/TIL2024. 4. 4. 18:29[Algorithm] 거품 정렬 (Bubble Sort)

거품 정렬(Bubble Sort) 거품 정렬(Bubble Sort)은 선택 정렬(Selection Sort)과 유사한 알고리즘으로, 서로 인접한 두 원소의 대소를 비교하고, 조건에 맞지 않는다면 자리를 교환하면 정렬하는 알고리즘입니다. 이름의 유래로는 정렬 과정에서 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어졌다고 합니다. Process(Ascending) 1. 1회전에서 첫 번째 원소와 두 번째 원소를, 두 번째 원소와 세 번째 원소를, 세 번째 원소와 네 번째 원소를, ... 이런 식으로 (마지막-1)번째 원소와 마지막 원소를 비교하여조건에 맞지 않는다면 서로 교환합니다. 2. 1회전을 수행하고 나면 가장 큰 원소가 맨 뒤로 이동합니다. 2회전에서는 맨 끝에 있는 원소는 정..

[SpringBoot] sts4 프로젝트 생성 및 환경설정
Devlopment/SpringBoot2024. 4. 4. 18:03[SpringBoot] sts4 프로젝트 생성 및 환경설정

인프런 강의로는 인텔리제이 프로젝트 생성 설정만 있었다 나는 인텔리제이를 사용하기 힘들었던 환경이라서 sts4로 일단 프로젝트를 생성하고자 한다. 다른 사람에게도 도움이 될 수 있으면 한다. 프로젝트 생성 1번. new → Spring Starter Project로 프로젝트 생성 프로젝트 이름(Name)과 Artifact, Package/Group 설정 Java 버전은 안정적인 17로 설정한다 2번 라이브러리 추가 Spring Web MVC 패턴의 웹 프로젝트 개발할 때 필요한 기본 의존성 Tomcat 포함 Thymeleaf 자바 템플릿 엔진 Spring Boot DevTools 프로젝트 개발에 필요한 편리한 기능들을 제공 대표적으로 코드에서 무언가 변경사항이 발생할 경우 바뀐 부분을 즉시 적용하도록 도..

[Design Pattern] 어댑터 패턴
Devlopment/TIL2024. 4. 2. 21:49[Design Pattern] 어댑터 패턴

어댑터 패턴 용도 : 클래스를 바로 사용할 수 없는 경우가 있는데 중간에서 변환 역할을 해주는 클래스가 필요할 때 사용한다. (예 : 다른 곳에서 개발했다거나, 수정할 수 없을 경우) 사용 방법 : 상속 호환되지 않은 인터페이스를 사용하는 클라이언트 그대로 활용 가능 향후에 인터페이스가 바뀌더라도, 변경 내역은 어댑터에 캡슐화 되므로 클라이언트가 바뀔 필요가 없다. 클래스 다이어그램 아이폰의 이어폰을 생각해보자. 이어폰 잭을 아이폰에 사용하려면 아이폰 특성상 잭이 맞지 않아 들어가지 않는다. 혹은 해외에 여행 가면 종종 110V를 사용할 때처럼 우리가 어댑터를 따로 구매해야 한다. 이처럼 어댑터는 필요로 하는 인터페이스로 바꿔주는 역할을 한다. 이처럼 업체에서 제공한 클래스가 기존 시스템에 맞지 않는다면..

image