Java(70)
-
[삽입정렬] 백준 11399번
문제1. ATM 기 한 개가 있고, 손님들이 각자 업무를 보는 시간이 주어진다2. 모든 손님들의 서비스를 합한 시간의 최소값을 구해라(사람의 수 : 1 (사람 당 서비스 시간 : 1 * 시간제한 : 1초 문제분석1. 가장 빠른 시간에 인출하는 방법을 그리디 방식이라고 한다.2. 시간제한은 1초 이므로, O(N^2) 이하인 정렬 알고리즘 아무거나 사용하면 된다3. 정렬 이후 서비스 시간을 합정렬을 이용하여, 최소값 구함그리디 방식? - 그리디 방식이란 탐욕법으로서 가장 최적의 해를 구하는 것을 목표하는 알고리즘이다. - 현재 문제에서는, 앞에 있는 손님들의 서비스 시간을 더해야하므로 반복적으로 더해지는 서비스 시간이 적어야한다 - 따라서, 그리디 방식을 적용하여 서비스 시간의 최적의 해를 도출해야한다 ..
2024.11.10 -
[정렬] 삽입정렬
정렬정렬 알고리즘정의시간복잡도삽입대상을 선택해 정렬된 영역에서 선택 데이터의 적절한 위치를 찾아 삽입하면서 정렬하는 방식O(N) ~ O(N^2)버블데이터의 인접 요소끼리 비교하고, swap 연산을 수행하며 정렬하는 방식O(N^2)선택대상에서 가장 크거나 작은 데이터를 찾아가 선택을 반복하면서 정렬하는 방식O(N^2)퀵pivot 값을 선정해 해당 값을 기준으로 정렬하는 방식O(NlogN) ~ O(N^2)힙이진트리를 이용하여 최대힙(오름차순)/최소힙(내림차순) 트리를 구성해정렬하는 방식O(NlogN)병합이미 정렬된 부분 집합들을 효율적으로 병합해 전체를 정렬하는 방식O(NlogN) + 추가적인 메모리 필요기수데이터의 자릿수를 바탕으로 비교해 데이터를 정렬하는 방식O(N) + 추가적인 메모리 필요 삽입정렬삽입..
2024.11.10 -
[String] substring()
Substring 메서드문자열 파싱하기 위한 메서드public String substring(int beginIndex) { return substring(beginIndex, length()); } /** * Returns a string that is a substring of this string. The * substring begins at the specified {@code beginIndex} and * extends to the character at index {@code endIndex - 1}. * Thus the length of the substring is {@code endIndex-beginIndex}. * ..
2024.11.09 -
[선택정렬] 백준 1427번
문제1번째 줄에 정렬할 수 N이 주어진다.N은 1,000,000,000 보다 작거나 같은 자연수다(주어진 N을 내림차순으로 정렬하시오) 문제분석- 자연수를 받아서, 정렬하는 문제이므로 먼저 숫자를 배열로 넣어야한다ex) 2143 -> 2,1,4,3 (분리필요)- 선택 정렬을 이용하여 문제풀이 진행과정빨간색 : 정렬된 수파란색 : 정렬해야하는 범위순서과정첫번째4123두번째4321세번째4321 슈도코드N(정렬할 수 입력)arr(N을 분리하여 배열로 저장)for(i=0 ~ arr 크기만큼 반복){ for(j= i ~ arr 크기만큼반복){ 현재 범위에서 최대 인덱스값 찾기 } if (현재 i값과 maxIdx값이 다르면){ swap (arr[i], arr[maxIdx]) }}..
2024.11.09 -
[정렬] 버블정렬
정렬정렬 알고리즘정의시간복잡도삽입대상을 선택해 정렬된 영역에서 선택 데이터의 적절한 위치를 찾아 삽입하면서 정렬하는 방식O(N) ~ O(N^2)버블데이터의 인접 요소끼리 비교하고, swap 연산을 수행하며 정렬하는 방식O(N^2)선택대상에서 가장 크거나 작은 데이터를 찾아가 선택을 반복하면서 정렬하는 방식O(N^2)퀵pivot 값을 선정해 해당 값을 기준으로 정렬하는 방식O(NlogN) ~ O(N^2)힙이진트리를 이용하여 최대힙(오름차순)/최소힙(내림차순) 트리를 구성해 정렬하는 방식O(NlogN)병합이미 정렬된 부분 집합들을 효율적으로 병합해 전체를 정렬하는 방식O(NlogN) + 추가적인 메모리 필요기수데이터의 자릿수를 바탕으로 비교해 데이터를 정렬하는 방식O(N) + 추가적인 메모리 필요 버블정렬데..
2024.11.07 -
[JDBC #6] JDBC Template을 활용한 JDBC 편리하게 이용하기
JDBC Template 사용 이유 Spring에서는 반복적인 JDBC 코드를 간소화하기 위해 JdbcTemplate을 제공한다. JdbcTemplate은 SQL 실행, 파라미터 바인딩, 예외 처리, 리소스 정리 등을 자동으로 처리해주므로, 개발자는 비즈니스 로직에만 집중할 수 있다. JDBC Template 선언 방법 1) DataSource 주입 방법public class Test { private final JdbcTemplate template; public Test(DataSource dataSource) { this.template = new JdbcTemplate(dataSource); }} 2) @Autowired 사용@Componentpublic clas..
2024.11.06