반응형 java7 [알고리즘 / JAVA] 까먹지 않기 위한 기본 정렬 알고리즘 코딩 테스트에서 정렬 문제는 자주 나옵니다. 하지만 보통 정렬 같은 경우에는 언어에 내장된 함수를 사용합니다. 그래서 개인적으로 정렬 알고리즘을 까먹는 부분이 있어서 이번 기회에 알면 좋을 4가지 정렬 알고리즘을 간략히 정리하려고 합니다. 선택 정렬 (Selection Sort) 현재 위치에 들어갈 데이터를 찾아 선택하는 정렬 알고리즘입니다. (시간 복잡도 : O(N^2)) ✏ 과정 정렬할 리스트에서 최솟값을 찾는다. 최솟값을 맨 앞 자리의 값과 교환 - Swap 맨 앞 자리 제외한 나머지 값들 중 최솟값을 찾아 다음 자리 값과 교환 이후 위의 과정을 반복 ✒ 코드 public static void main(String[] args) { int[] numbers = {1,2,5,7,8,11,10}; fo.. 2021. 11. 10. [JAVA] Stack과 Queue 사용법 Stack과Queue는 코팅 테스트에서 심심치 않게 나오는 친구들입니다. 가끔 풀다 보면 까먹는 경우가 있어서Stack과Queue의 간단한 개념만 잡고 JAVA에서 어떻게 사용하는지 정리해보려고 합니다. 간단 개념 Stack : 마지막에 저장한 데이터를 가장 먼저 꺼내는 LIFO(Last-In-First-Out)인 자료구조 Queue : 먼저 들어간 데이터를 먼저 꺼내는 FIFO(First-In-First-Out)인 자료구조 사용법 Stack Stack stack = new Stack(); stack.push(1); stack.push(2); stack.peek(); // 2를 return , stack = [1, 2] stack.pop(); // 2를 return , stack = [1] push(ob.. 2021. 11. 8. [JAVA] 문자열(String) 비교 시 == 와 equals의 차이점 JAVA를 처음 접하면 문자열이 같은지 비교할 때 if(A == B)이렇게 하는 경우가 있습니다. 하지만 이는 의도한 대로 안 나올 가능성이 큽니다. 그 이유를 한 번 알아보겠습니다. == 연산자 참조 비교를 통해 두 문자열을 비교합니다. 즉, 두 개의 객체가 메모리 공간을 가리키는지 확인합니다. 이 때의 반환 값은 boolean으로 가져오며 같은 주소면 true 아니면 false를 반환합니다. equals() 메소드 두 객체의 내용을 비교하는 메소드입니다. 문자열의 데이터를 기반으로 비교합니다. 같은 내용이면 true 아니면 false를 반환합니다. 📂 코드 public class Test { public static void main(String[] args) { String value1 = "Tes.. 2021. 10. 29. [Spring] REST API 리턴 시 원하는 JSON 데이터 반환하기 API를 만들다가 응답 값으로 내가 원하는 데이터만 뽑아서 원하는 JSON 데이터로 반환을 해야 했는데 처음에는 헤매다가 여기저기 찾아서 해결을 했습니다. 제가 한 방법보다 더 좋은 방법이 있을 것 같은 느낌이 들지만 한 번 정리해보겠습니다. (피드백은 언제나 환영합니다.) 예를 들어 2개의 모델이 있다고 가정합니다. (DB엔진은 PostgreSQL) User.java @Data @Entity @Table(name="User", schema = "default$default") public class User { @Id String id; Integer year; String name; Date createdAt; } Job.java @Data @Entity @Table(name="Job", schema.. 2021. 10. 8. [Spring] 단위 테스트를 위한 JUnit 개발에서 테스트는 매우 중요한 부분입니다. 특히 비즈니스 로직을 중점적으로 개발하는 백엔드 개발자에게 있어서 테스트는 언제나 고민이 되는 부분일 것입니다. 그래서 요즈음 TDD(Test-driven Development) , 테스트 주도 개발이라는 소프트웨어 방법론을 많이 사용하고 있습니다. 간략히 설명하면 단위 테스트 케이스를 작성하고 이를 통과하는 개발 코드를 작성하는 방법입니다. Spring에서 단위 테스트를 위해 주로 사용하는 프레임워크인 JUnit에 대해 정리해보려고 합니다. 이 글에서는 어노테이션(annotation)과 Assert을 중점으로 정리를 할 것입니다. 해당 글에서는 테스트를 위해 Junit5를 사용할 것입니다. Junit5는 이전 버전과 다르게 3개의 서브 프로젝트로 이루어져 있습.. 2021. 8. 26. [Spring] 프로젝트 생성 ✅ Spring 프로젝트 생성 처음 스프링을 접하는 나와 같은 사람들은 프로젝트를 생성하는 것이 까다로울 수 있습니다. 그래서 이미 Spring Initializr라는 웹사이트를 통해 간단하게 프로젝트를 생성할 수 있게 제공을 해줍니다. https://start.spring.io/ 페이지에 들어가면 아래와 같이 되어 있습니다. 간단하게 위에서부터 차례대로 보면 Project : 대부분의 프로젝트들이 Gradle로 되어있어 Gradle로 만드는 것을 추천합니다. Language : 나는 Java로 할 예정이니 Java를 선택합니다. Spring Boot : (SNAPSHOT), (M1)은 아직 정식 버전이 아니어서 이들에 해당하지 않는 것 중 최신 버전으로 선택하고 Project Metadata : Gro.. 2021. 8. 12. 이전 1 2 다음 반응형