본문 바로가기

Algorithm/자료구조5

[프로그래머스] 코딩테스트 고득점 Kit - 힙(HEAP) (JAVA) https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr PriorityQueue pq = new PriorityQueue() : 우선순위큐 선언. 최소힙 PriorityQueue pq = new PriorityQueue(Collections.reverseOrder()) : 우선순위큐 선언. 최대힙 import java.util.*; class Solution { public int solution(int.. 2021. 10. 2.
[프로그래머스] 코딩테스트 고득점 Kit - 스택/큐 (JAVA) https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { int[] answer = {}; List list = new LinkedList(); Queue q = new LinkedList(); for(int i=0; i 2021. 10. 2.
[프로그래머스] 코딩테스트 고득점 Kit - 해시 (JAVA) https://programmers.co.kr/learn/courses/30/lessons/42576?language=java 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr Map m = new HashMap() m.getOrDefault(p,0) : m에 p랑 매칭되는 key가 존재하면 해당 value값 반환하고 없으면 0 반환 m.get(p) : key값이 p인 value값 반환 m.keySet() : m의 key 집합 import java.util.*; class Solution {.. 2021. 9. 30.
[백준] 2470번 : 두 용액 (C++) https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 정렬 및 이분탐색 문제이다. 숫자 범위가 -10억~10억 이므로, 두개의 숫자를 합쳐도 20억을 넘어가지 않기 때문에 long long 이 아닌 int로 해결하였다. 숫자를 먼저 오름차순으로 정렬하고, 왼쪽 포인터는 0 오른쪽 포인터는 N-1부터 시작하였다. L> N; for (int i = 0; i > n; v.push_back(n).. 2021. 8. 30.
[백준] 5430번 : AC (C++) https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 문제 자체는 쉬운것 같았다. 그냥 구현이겠거니 vector를 사용해서 reverse()함수를 통한 뒤집기를 해보니.... 시간초과가 떠버렸다. (이렇게 쉽게 풀릴리가 없지...) 다음으로 시도한 방식은 자료구조 덱(deque)을 사용하는 것이다. R이 나올때마다 매번 reverse를 하면 엄청나게 비효율적일 것이므로, 정방향인지 역방향인지 상태를 나타내는 bool형 dir변수를 두었다. dir가 true면 정방향이므로, D가 나올때 pop_front().. 2021. 8. 23.