https://school.programmers.co.kr/learn/courses/30/lessons/42627 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 힙 Level 3 문제다. 작업의 요청~종료 시간의 평균이 최소가 되어야 하므로 요청한 작업 중, 소요시간이 더 적게 걸리는 순서대로 정렬해야 한다. 즉 요청한 작업을 큐에 넣고 소요시간 별로 정렬하기 위해 우선순위 큐를 사용했다. 먼저 요청시점이 빠른 순서대로 우선순위 큐에 넣어야 하므로 jobs의 요청시점을 오름차순으로 정렬한다. 그리고 우선순위 큐에 들..
https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 힙 Level 2 문제다. 우선순위 큐는 힙의 원리와 동일하므로 자바의 PriorityQueue 라이브러리를 사용했다. 우선순위 큐에 scoville[] 원소를 넣으면 자동으로 가장 맵지 않은 두 음식의 스코빌 지수가 맨 앞으로 정렬될 것이다. 큐의 맨 앞 두개를 꺼내 새로운 음식을 만들고, 다시 큐에 넣는다. 큐의 가장 맨 앞의 원소가 가장 작은 스코빌 지..
https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 스택/큐 Level 2 문제다. 스택을 사용하는 문제인 것 같은데 이중 for문이 더 간단할 것 같아 이렇게 구현했다. 주식 가격이 떨어질 때까지 sec를 1씩 증가시키고, 떨어지는 경우에 배열에 sec를 대입한다. 끝까지 한번도 떨어지지 않으면 배열이 갱신되지 않으므로 떨어지면 flag를 true, 떨어지지 않으면 false로 설정해 마지막에 flag값을 ..
https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 고득점 코딩테스트 Kit의 스택/큐 Level 2 문제다. 먼저 priorites의 값을 큐에 넣는다. location 위치에 있는 값이 몇번째로 인쇄되는지 구하는 문제이기 때문에 priorites의 인덱스 값과 함께 큐에 넣어야 한다. 큐의 가장 앞에 있는 값을 빼내고, 빼낸 값의 중요도보다 더 높은 중요도가 큐에 존재한다면 다시 큐의 맨 뒤로 넣는다. location 위치의 값이 ..
https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 스택/큐 Level 2 문제다. 어떤 기능이 완료될 때까지의 일수는 다음과 같다. (100 - 작업진도) / (개발 속도) 단위가 일수이기 때문에 딱 나누어 떨이지지 않을 경우 반올림 한다. (Math.ceil()) 각 기능마다 완료될 때까지의 일수를 계산하여 큐에 넣은 후, 큐의 값을 하나씩 꺼내면서 이전 값과 비교하며 한번에 배포할 수 있는 기능의 수를 ..
https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 스택/큐 Level 2 문제다. 아주 대표적이고 기본적인 스택 문제이다. ( 을 만나면 stack에 집어넣고, )를 만나면 stack에서 값을 꺼낸다. )를 만났을 때 stack이 비어있거나, 문자열의 모든 괄호를 다 탐색했는데 스택이 비어있지 않다면 괄호가 맞지 않는 것이므로 false를 반환한다. import java.util.Stack; class So..
https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 스택/큐 Level 1 문제다. List나 일반 배열을 사용해도 되지만 스택/큐 카테고리 문제이기 때문에 큐를 이용하여 풀었다. i번째의 값이 i-1과 같으면(값이 연속되면) 큐에 집어넣지 않고, 같지 않으면 큐에 집어 넣는다. 그리고 큐의 모든 값을 answer 배열에 저장하면 된다. import java.util.*; public class Solutio..
https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 Hash Level 3 문제다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 문제에 나온 노래의 수록 기준은 위와 같다. 먼저 1번 기준을 만족하기 위해 장르별 재생횟수를 HashMap에 저장한다. stream을 통해..