[프로그래머스 알고리즘 고득점 Kit][그리디][Java] 구명보트
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 사람들의 몸무게를 오름차순으로 정렬하고, 가장 가벼운 사람과 가장 무거운 사람을 비교한다.두 사람의 무게 합이 제한을 초과하면 가장 무거운 사람만 태운다.제한 이하라면 두 사람을 함께 태운다.구조한 사람의 수가 전체 인원과 같아질 때까지 반복한다.가장 무거운 사람이 가장 가벼운 사람과도 함께 탈 수 없다면 누구와도 함께 탈 수 없으므로 혼자 태워도 된다. ※ 마지막 한 명이 남으면 동일한 인덱스의 무게를 두 번 더하게 되지만, 보트 수는 정확히 한 번 ..
[프로그래머스][MySQL] 동명 동물 수 찾기
·
데이터베이스/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/59041 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr select name, count(*) as countfrom animal_inswhere name is not nullgroup by namehaving count(*) >= 2order by name asc
[프로그래머스 알고리즘 고득점 Kit][그리디][Java] 큰 수 만들기
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 큰 수는 앞자리 숫자가 클수록 유리하므로 StringBuilder를 스택처럼 사용한다.숫자를 왼쪽부터 확인→ 현재 숫자가 저장된 마지막 숫자보다 크면 마지막 숫자 삭제→ 삭제 횟수가 k가 되거나 더 이상 작은 숫자가 없을 때까지 반복→ 현재 숫자 추가 다음 숫자가 더 클 때만 삭제하므로오름차순인 경우는 삭제 횟수가 남을 수 있음 그래서 모든 숫자를 순회하고도 삭제 횟수가 남았다면 뒤에서부터 삭제를 해야함 각 숫자는 한 번 추가되고 최대 한 번 삭제..
JPA ddl-auto 대신 Flyway로 DB 스키마 관리해보기
·
프로젝트
ddl-autoJPA 구현체인 Hibernate가 테이블 생성/검증/수정에 얼마나 관여할지 정하는 설정.ddl-auto 설정 종류create - 애플리케이션 시작 시 기존 테이블 등의 스키마 객체를 삭제하고, Entity를 기준으로 다시 생성한다.create-drop - 애플리케이션 시작 시 기존 스키마 객체를 삭제하고 다시 생성하며, 애플리케이션이 정상 종료될 때 다시 삭제한다.update - Entity 매핑을 기준으로 DB 스키마 변경을 시도한다. 변경 이력이 남지 않으며, 모든 변경을 안전하게 처리한다고 보장할 수는 없다.validate - Entity 매핑에 필요한 테이블과 컬럼 등이 DB 구조와 호환되는지 검증한다. 문제가 있으면 애플리케이션 실행에 실패한다.none - Hibernate가 D..
[프로그래머스 알고리즘 고득점 Kit][힙(Heap)][Java] 디스크 컨트롤러
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42627 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 작업을 요청 시각 기준으로 정렬한 뒤, 현재 시각까지 요청된 작업만 우선순위 큐에 넣는다.우선순위 큐에서는 다음 순서로 작업을 선택한다.소요 시간 → 요청 시각 → 작업 번호 전체 흐름은 다음과 같다.작업을 요청 시각순으로 정렬→ 대기 큐가 비었다면 다음 요청 시각까지 이동→ 현재 시각까지 요청된 작업을 모두 대기 큐에 추가→ 우선순위가 높은 작업 실행→ 종료 시각 - 요청 시각을 반환 시간에 누적→ 모든 작업의 평균 반환 시간 계산 waitingInd..
[프로그래머스][MySQL] 최솟값 구하기
·
데이터베이스/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/59038 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr시간 중 최소select min(datetime)from animal_ins 오름차순 정렬 후 1번select datetimefrom animal_insorder by datetime asclimit 1;