본문 바로가기

Development

(98)
[Greedy] Softeer(소프티어) level 2 연탄의 크기 java 풀이 https://softeer.ai/practice/7628Softeer - 현대자동차그룹 SW인재확보플랫폼softeer.ai문제 풀이법난로의 반지름들을 저장하는 배열을 만들고 오름차순 정렬2부터 난로 반지름이 가장 큰 값까지(배열의 끝) 순회하며각 집 별로 난로 반지름을 나눈 나머지 값이 0 이면 ++이전 순회 값보다 현재 값이 더 크다면 answer값 대체코드import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); Str..
.gitignore 만들어주는 사이트 https://www.toptal.com/developers/gitignore/ gitignore.io Create useful .gitignore files for your project www.toptal.com 프로젝트 처음 만들고 github에 업로드 하려는데 그냥 git add . 을 해버렸더니 의미없는 파일 및 디렉토리(.idea, gradle 등등) 이 함께 올라가 버렸다.. .gitignore를 만드려고 찾아보니 키워드만 입력하면 자동으로 만들어주는 사이트가 있었다.! 키워드를 입력하고 생성을 누르면 소스코드가 완성된다.
[Greedy] Softeer(소프티어) level 3 강의실 배정 java 풀이 (+Comparator에 관하여) https://softeer.ai/practice/6291 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 문제 풀이법 이중배열 선언 후 [[시작시간, 끝난시간]] 형태로 저장 끝난 시간을 기준으로 오름차순 정렬 이전에 끝난 시간
[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), 배열 값은 금속 개수를 의미하는 배열 하나를 만듬 입력을 받으면서 무게당 가격에 금속 개수를 누적해감 배열의 끝부터 시작하여 루프를 돌며 금속 개수 * 무게당 가격으로 총 가치를 더해감 이때 가방에 담을 수 있는 무게..