[프로그래머스 알고리즘 고득점 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;
[프로그래머스 알고리즘 고득점 Kit][그리디][Java] 조이스틱
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 각 글자의 위 아래를 먼저 구한다. -> 이건 위나 아래를 눌러서 비교함2. 좌우 움직임 최소를 구한다. 1) A구간을 최대한 피하는게 이득 2) A구간이 2개이상이라면 구간 사이 처리해야할 글자가 생기기에 지나가야할 A구간은 무조건 생김 3) 그러면 최소 하나의 A구간은 피해도 됨 4) 피하지 않고 그냥 직진하는게 이득일 수도 있음 5) 직진하는 값과 피하는 것을 비교후 최소값을 구함 6) 피하는 것은 시작점을 기준으로 오른쪽으로 갔다가 왼쪽..
[프로그래머스][MySQL] 중복 제거하기
·
데이터베이스/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/59408 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krselect count(*) as countfrom (select namefrom animal_inswhere name is not nullgroup by name) as name_groupWHERE 절로 NULL 이름 제거→ GROUP BY로 중복된 이름을 하나로 묶기→ FROM 절의 서브쿼리에 별칭 필수(name_group) 지정→ 바깥 쿼리에서 결과 행의 개수 계산