'분류 전체보기' 카테고리의 글 목록 (20 Page)
본문 바로가기

분류 전체보기

(243)
[Greedy] Softeer(소프티어) level 3 강의실 배정 java 풀이 (+Comparator에 관하여) https://softeer.ai/practice/6291 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai문제 풀이법이중배열 선언 후 [[시작시간, 끝난시간]] 형태로 저장끝난 시간을 기준으로 오름차순 정렬이전에 끝난 시간 Comparator에 관하여Comparator 인터페이스는 두 객체를 비교하는 compare() 메서드를 정의하는 함수형 인터페이스입니다. 이 인터페이스를 구현하여 객체들의 정렬 순서를 사용자 정의할 수 있습니다. compare() 메소드는 자신이 다른 객체보다 작으면 음수, 같으면 0, 크면 양수를 반환해야 합니다.List.sort(new Comparator() { @Override public int compare(int..
[Java] List와 Set의 차이, 그러면 Set은 어떻게 구현할까요? 공부를 하기 전에 제가 아는 것 부터 적어보자면.. 일단 List는 순서가 있고 중복이 존재할 수 있구요 삽입 삭제에 걸리는 시간이 O(n) 반대로 Set은 중복이 없고 순서가 존재하지 않구요 삽입 삭제에 걸리는 시간이 O(1)입니다. ...네 공부해서 글을 작성해보겠습니다. Java의 Collection Collection은 '요소'라고 알려진 어떠한 객체의 그룹을 나타냅니다. 일부 컬렉션은 중복 요소를 허용하고 다른 일부는 그렇지 않습니다. 일부는 순서가 있고 다른 일부는 순서가 없습니다. JDK는 Set과 List와 같은 더 구체적인 하위 인터페이스의 구현을 제공합니다. List List는 Collection의 하위 인터페이스로, 순서가 있는 컬렉션입니다. 중복 값을 저장할 수 있는 객체들의 순서가..
[Database] Index가 무엇인지 설명해보세요. Index책에서 인덱스는 일반적으로 책의 끝에 위치하며, 키워드나 용어를 알파벳 순으로 나열하고 그 용어가 책에서 어디에서 논의되었는지에 대한 페이지 번호를 함께 제공합니다. 이는 독자들이 특정 정보를 빠르게 찾을 수 있도록 도와줍니다. 책의 인덱스가 특정 주제나 키워드에 대한 정보를 빠르게 찾는데 도움이 되는 것처럼, Index(인덱스)는 데이터베이스 엔진이 테이블 내의 특정 데이터를 더 빠르게 찾는데 도움을 줍니다. 이는 데이터베이스에서 쿼리 성능을 향상시키는데 효과적입니다. (특히 읽기 쿼리)인덱스가 걸려있지 않은 테이블에서 특정 튜플을 찾을때는 full scan을 수행하여 O(N)의 시간이 소요될 수 있지만,인덱스가 걸려있는 테이블에서 특정 튜플을 찾을때는 B-Tree 기반 인덱스의 경우 O(lo..
[DP] Softeer(소프티어) level 3 징검다리 Java 풀이 (+ 테스트 케이스) https://softeer.ai/practice/6293 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 문제 풀이법 돌 높이를 저장하는 배열과, 각각의 돌에 도달하기 위한 걸음 수를 저장하는 DP 테이블 생성(이때 DP 테이블 값은 모두 1로 초기화) for 루프를 돌며 이전 인덱스의 돌 높이보다 현재 돌 높이가 더 높을때 DP[현재 인덱스] = max(현재 인덱스 DP 테이블, 이전 인덱스 DP 테이블에 + 1) 적용 DP 테이블에서 가장 큰 값 리턴 예를 들어 6 1 7 8 2 3 4 의 경우, 잘못된 구현을 하면 1 7 8만 따져서 3이 되겠지만 정답은 1 2 3 4인 4가 정답이다. 즉 각 돌에 도달하기 위한 모든 걸음 수를 검사해야함 결과적으로 돌 높이를 저장하는 배열은..
[Spring] 엔티티 (Entity) Entity Spring Data JPA를 사용하면 데이터베이스에 테이블을 생성하기 위해 직접 쿼리를 작성할 필요가 없음 이 기능을 가능하게 하는 것이 Entity JPA에서 Entity는 데이터베이스의 테이블에 대응하는 클래스 Entity에는 데이터베이스에 쓰일 테이블과 칼럼을 정의함 Entity 관련 어노테이션 @Entity 해당 클래스가 Entity임을 명시하기 위한 어노테이션 클래스 자체는 테이블과 일대일로 매칭되며, 해당 클래스의 인스턴스는 매핑되는 테이블에서 하나의 레코드를 의미 @Table 클래스의 이름과 테이블의 이름을 다르게 지정해야 하는 경우 사용 이 어노테이션을 명시하지 않으면 클래스 이름과 테이블 이름이 일치하는 것으로 판단 @Table(name = "이름") 형태로 사용 @Id E..
[Array] Softeer level 3 성적 평균 Java 풀이 (%.2f는 자동 반올림!!) https://softeer.ai/practice/6294 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 풀이법 점수의 누적합을 저장하는 배열을 선언 구간의 끝에 해당하는 배열의 인덱스 값에서, 구간의 시작 - 1에 해당하는 배열의 인덱스를 빼고 평균을 냄 처음엔 Math.round로 반올림을 해야하나 싶었는데 printf("%.2f", 값) 을 하면 알아서 소수 둘째자리 까지 출력하고, 셋째자리에서 반올림을 해준다.. 예를 들어 5 3 10 50 20 70 100 1 3 의 경우 배열에 구간 0 1 2 3 누적합 0 10 60 80 이렇게 저장이 되고, 1부터 3까지 구간은 구간의 끝인 3에 값 80에서 구간의 첫 시작 - 1, 즉 0의 인덱스 값 0을 뺀 다음 구간 수 만큼 나..
[Spring] JPA (Java Persistence API), Hibernate, Spring Data JPA JPA (Java Persistence API) 자바 진영의 ORM 기술 표준을 채택된 인터페이스의 모음 ORM이 큰 개념이라면 JPA는 더 구체화된 스펙을 포함함 즉 JPA는 실제로 동작하는 것이 어떻게 동작해야 하는지 메커니즘을 정리한 표준 명세 JDBC JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접근할 수 있게 해주는 API JDBC는 관계형 데이터베이스를 사용하기 위한 표준 인터페이스를 제공하며, SQL 쿼리를 실행하거나 결과를 검색하는 등의 데이터베이스 관련 작업을 수행할 수 있음 JPA의 메커니즘은 내부적으로 JDBC를 사용 개발자가 직접 JDBC를 구현하면 SQL에 의존하게 되어 개발 효율성이 떨어지는 문제 발생 JPA는 개발자 대신 적절한 SQL을 ..
[Array] Softeer level 2 금고털이 java O(n) 풀이법 https://softeer.ai/practice/6288 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 정렬을 사용한 풀이법 (O(nLogN)) ArrayList를 하나 만든 다음 ( 금속 개수, 무게당 가격 ) 형식으로 add 금속 하나당 무게를 기준으로 ArrayList를 내림차순 Sort 후, for 문 돌려서 가방 총 무게를 넘게 되면 break 이 때 Sort를 하게 되면 O(nLogN) 시간이 걸리게 됨 O(n) 풀이법 배열의 인덱스는 무게당 가격(p), 배열 값은 금속 개수를 의미하는 배열 하나를 만듬 입력을 받으면서 무게당 가격에 금속 개수를 누적해감 배열의 끝부터 시작하여 루프를 돌며 금속 개수 * 무게당 가격으로 총 가치를 더해감 이때 가방에 담을 수 있는 무게..