Algorithm 110

조이스틱 : Java

각 알파벳을 만들기 위한 상하 조작 최소 횟수 구하기A → B → ... → Z: 위로 i번 (총 26자)A → Z는 아래로 1번이 더 빠름Math.min(char - 'A', 'Z' - char + 1)좌우 이동 최솟값 찾기왼쪽/오른쪽으로 이동하며 커서를 움직여야 함중간에 "A"가 연속될 경우 건너뛰는 전략이 필요기본은 오른쪽으로 name.length() - 1번 이동A가 연속될 경우 뒤로 갔다가 다시 가는 방식이 더 짧을 수 있음➤ Greedy하게 모든 지점에서 연속된 A를 고려하며 최단 이동 계산class Solution { public int solution(String name) { int answer = 0; int length = name.length(); ..

완주하지 못한 사람 : Java

HashMap를 사용해서 이름별 등장 횟수를 저장.participant에서 이름을 모두 +1 하고,completion에서 이름을 -1함.마지막에 value가 1로 남은 사람이 완주 못한 사람*동명이인 조건때문에 이분 탐색은 적절치 Ximport java.util.*;class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; // 완주하지 못한 선수의 이름 HashMap h = new HashMap(); for(String name : participant){ h.put(name, h.getOrDefau..

[프로그래머스 SQL] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기

자동차 종류가 세단 또는 SUV인 자동차 중2022년 11월 1일부터 2022년 11월 30일까지 대여 가능하고대여 금액이 50만원 이상 200만원 미만인 자동차>자동차 ID, 자동차 종류, 대여 금액 출력대여 금액 기준 내림차순, 자동차 종류 오름차순, 자동차 ID 내림차순 SELECT CR.CAR_ID, CR.CAR_TYPE, ROUND(((CR.DAILY_FEE * 30)*(100-CP.DISCOUNT_RATE)*0.01),0) AS FEEFROM CAR_RENTAL_COMPANY_CAR CRJOIN CAR_RENTAL_COMPANY_DISCOUNT_PLAN CP ON CR.CAR_TYPE = CP.CAR_TYPE AND CP.DURATION_TYPE = '30일 이상'WHERE CR.CAR_TYP..

Algorithm/SQL 2025.07.04
728x90