목록LV2 (37)
기록방
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 각 작업의 개발 진행도와 하루동안 진행 할 수 있는 개발 진도율이 주어진다. 작업 순서대로 배포되어야 하며, 배포 시점에 개발 진행도 100%라면 함께 배포 할 수 있다. 배포되는 작업의 개수 배열을 출력한다. 🔸 문제 풀이 🔸 개발을 진행한 날짜를 하루 진행 개발 진도율과 곱해, 개발이 완료됐는지 혹은 얼마나 남았는지 계산한다. 개발이 완료된 것들은 연속된 수를 카운트한다. 개발이 완료되지 않았으면, 이전에 쌓아둔 카운트를 정답 배열에 저장해놓고, 카운트를 0으로 돌린 뒤 날짜..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 캐시 교체 알고리즘 중 LRU (Least Recently Used)를 구현하는 문제이다. 🔸 문제 풀이 🔸 크기 제한이 있는 큐 형태에서 가장 사용한지 오래 된 도시 이름을 먼저 지워주는 방식으로 구현한다. cache hit일 경우는 해당 도시 이름을 가장 최근에 사용한 것으로 옮겨주어야 한다. 도시 이름이 대소문자를 구분하지 않아야 하고, cacheSize가 0이 될 수 있음에 유의한다. 🔸 코드 🔸 import java.util.ArrayDeque; import java.u..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 원하는 물품과 그 개수가 주어진다. 각 날짜 별 할인 물품 리스트가 주어진다. 10일 이내에 원하는 물품을 각 개수 이상 살 수 있는 구간의 수를 반환한다. 🔸 문제 풀이 🔸 슬라이딩 윈도우 방식으로 10크기의 윈도우를 이동하며 물품 개수를 체크한다. 🔸 코드 🔸 import java.util.Map; import java.util.HashMap; class Solution { public int solution(String[] want, int[] number, String[]..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 n x n 격자판에 (0, 0) 부터 (n - 1, n - 1)까지 파동이 퍼지듯 숫자를 채운다. 각 행을 순서대로 이어 붙인 뒤, 0부터 n-1 중 left ~ right를 잘라서 int 배열로 반환한다. 🔸 문제 풀이 🔸 격자판의 숫자는 1 ~ n 으로 채우지만, 인덱스는 0 ~ n-1 이라는 점에 주의한다. n의 범위가 100만이고, left, right는 n^2까지 주어진다고 한다. 하지만 반환 배열이 int 형이고 문제 조건에 rifht - left는 1만 미만이라고 주..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 입력된 원형 수열에서 1부터 수열의 길이까지의 연속 부분 수열들의 합을 구한다. 중복을 제거하고 합들의 수를 반환한다. 🔸 문제 풀이 🔸 Set 자료형에 부분 수열의 합을 넣어서 중복을 제거하고, Set의 길이를 반환한다. 🔸 코드 🔸 import java.util.Set; import java.util.HashSet; class Solution { public int solution(int[] elements) { Set set = new HashSet(); for(int i ..