본문 바로가기

분류 전체보기

(174)
[코딩테스트] Java N으로 표현 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트이 주어진 숫자 N을 여러 번 사용하여 특정 숫자 number를 만들기 위해 필요한 최소 사용 횟수를 찾는 문제를 해결합니다. 이것은 동적 계획법(Dynamic Programming, DP)을 활용하여 숫자 N을 점진적으로 조합해 나가는 방식입니다.소스코드import java.util.*;class Solution { public int solution(int N, int number) { // N을 i번 사용해서 나온 수 => dp[i] 에 저장 List> dp = ne..
[Spring] @Controller @Service @Repository에 대해 알아보자! 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁스프링 정리를 위한 포스팅입니다.해당 포스팅은 @Controller, @Service, @Repository의 역할과 특징 정리입니다. 도입Spring 프레임워크는 계층구조로 코드를 나누어 각 계층마다 역할을 분리하였습니다.(객체 지향적 특징)이와 같은 계층 구조는 코드의 역할 분리를 명확히 하고 유지보수성을 높이는 데 중요한 역할을 합니다.Presentation Layer: 클라이언트의 요청 처리Business Layer: 비즈니스 로직 처리Persistence Layer: 데이터 접근 처리클라이언트와의 요청 처리는 @Controller, 비즈니스 로직..
[Spring] @Lombok에 대해 알아보자! 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁스프링 정리를 위한 포스팅입니다.해당 포스팅은 Lombok 어노테이션 입니다. Lombok이란?Lombok은 Java 애플리케이션에서 보일러플레이트 코드(반복적인 코드)를 줄여주는 라이브러리입니다.이를 통해 코드의 가독성을 높이고 유지보수를 쉽게 만들어 줍니다.왜 Lombok을 사용해야 하는가?Java의 기본 클래스는 자주 사용되는 메서드(생성자, getter, setter, toString 등)를 수동으로 작성해야 합니다.Lombok은 이러한 반복적인 코드 생성을 자동화하여 개발 생산성을 크게 향상시킵니다.Lombok 어노테이션 종류@Getter / @..
[Java] 어노테이션에 대해 알아보자! 제가 공부한 내용을 정리하는 블로그입니다. 아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁자바 정리를 위한 포스팅입니다.해당 포스팅은 어노테이션 정리입니다. 등장 배경과거에는 소스파일은 java파일 설정 값을 XML파일에 명시하여 관리했습니다. 변경될 수 있는 데이터들을 코드가 아닌 외부 설정 파일(XML)에 분리하기 때문에, 재컴파일 없이도 쉽게 변경사항을 저장할 수 있었습니다.하지만, 프로그램 작성을 위해 매번 많은 설정을 해야하며, 수 많은 설정파일들을 관리해야 했습니다. 그에 따라서 설정파일을 업데이트를 하지 않아 코드의 실행동작과 같은 부분들이 달라지거나 개발에 대해서 불편함이 많았습니다.이렇듯 하나의 파일 내에서 코드와 설정을 관리..
[프로그래머스] Java 단속카메라 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트차량들의 진입점과 출구점이 주어졌을 때, 각 차량들이 겹치지 않도록 선택하는 것은 최대한 적은 공간을 차지하면서 차량들을 배치하는 문제입니다. 이를 해결하기 위해서는 먼저 고속도로를 나간 지점이 빠른 차량을 우선적으로 선택하는 것이 중요합니다.소스코드import java.util.*;class Solution { static class Car implements Comparable { int src, desc; public Car(int src, int desc) { ..
[코딩테스트] Java 섬 연결하기 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트가장 최소의 코스트로 모든 다리를 연결하여야 하므로 최소 신장 트리를 구하는 문제입니다.최소 신장 트리를 구하기 위한 크루스칼 알고리즘을 활용하여 문제를 풀어줍니다.소스코드import java.util.*;class Solution { class Bridge implements Comparable { int src, dest, cost; public Bridge(int src, int dest, int cost) { this.src..
[코딩테스트] Java 구명보트 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트그리디 문제는 대부분 정렬과 조합을 이룬 문제가 많습니다. 따라서 가장 무거운 사람과 가장 무게가 작은 사람을 태워야 최대 limit를 채울 수 있습니다.소스코드import java.util.*;class Solution { public int solution(int[] people, int limit) { int answer = 0; Arrays.sort(people); int index = 0; for (int i = people..
[코딩테스트] Java 큰 수 만들기 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트연속된 숫자들 중에 가장 큰 수를 구하는 문제였습니다. 스택을 이용하여 나왔던 숫자들 중에 가장 큰 수를 구하였습니다.소스코드import java.util.*;class Solution { public String solution(String number, int k) { int len = number.length(); Stack answer = new Stack(); for(int i = 0; i 0) { answe..