목록개발 (95)
원하는 것은 뭐든지
문제풀이입력으로 카드뭉치 두 개와 목푯 값이 String 배열로 주어진다.카드뭉치에서 목표값이 되도록 카드를 조합하면 되는데, 카드뭉치에서 카드를 꺼낼 때는 정해진 순서를 바꿀 수 없고 다른 뭉치로 넘어가려면 해당 카드뭉치에서 카드를 사용해야 한다. goal 배열에서 하나씩 빼서 카드 뭉치를 살펴보고 없다면 "No"를 출력하고 goal배열에 있는 값이 모두 사용된다면 "Yes"를 출력하면 된다. 제출 1 - 오답import java.util.*;class Solution { public String solution(String[] cards1, String[] cards2, String[] goal) { int idx1 = 0; int idx2 = 0; int ..
문제풀이명령어가 String 배열로 들어온다.명령어로는 "I"(INSERT), "D"(DELETE)가 있다.INSERT는 말 그대로 정수를 입력하면 되고, DELETE로는 1이 들어오면 최댓값을 지우고 -1이 들어오면 최솟값을 지운다. 제출 1 - 오답import java.util.*;class Solution { public int[] solution(String[] operations) { PriorityQueue heap = new PriorityQueue(); List list = new ArrayList(); list.add(Integer.MIN_VALUE); for(String str : operations){ ..
문제풀이모든 음식을 원하는 스코빌지수에 맞추고 싶은 성격 이상한 Leo가 있다.가진 음식의 스코빌 지수를 담은 배열이 주어지면 모든 음식이 원하는 스코빌 지수 이상이 되도록 해줘야 한다.스코빌 지수를 맞추는 방법은 가장 작은 스코빌 지수 + (두 번째로 작은 스코빌 지수 * 2)를 반복하여 모든 음식의 스코빌 지수를 맞춰준다. 예를 들어 위의 예시와 같이 입력이 주어진다면[1,2,3,9,10,12] , 7 이 주어진다면1. 1 + (2 * 2) = 5 -> [5,3,9,10,12]2. 3 + (5 * 2) = [13,9,10,12]두번이면 원하는 스코빌지수 이상이 됐으므로 2를 return 한다. 풀이 1 - 제출 못함예시는 스코빌 지수가 오름차순으로 입력됐지만 꼭 그러리라는 조건은 없다.해서 Array..
1. 힙(Heap)우선순위 큐를 위해 고안되었다.완전이진트리 형태의 자료구조이다.부모 노드의 값이 자식노드의 값보다 항상 크거나 같거나 작거나 같다.(반 정렬 상태)1-1. 힙의 종류1-1-1. 최대 힙 (Max Heap)부모 노드의 값이 자식노드의 값보다 크거나 같다.1-1-2. 최소 힙(Min Heap)부모 노드의 값이 자식 노드의 값보다 작거나 같다.1-2. 힙의 동작 방식1-2-1. 데이터 삽입 1. 최하단 노드에 값을 추가한다.2. 추가할 경우 왼쪽노드를 우선으로 한다. 3. 최하단 노드의 왼쪽에 값을 추가하고 부모와 비교해서 더 크다면 부모와 바꿔준다.1-2-2. 데이터 삭제 1. pop 하면 앞에 값이 나가게 되고 최하단의 값이 들어간다. 2. 자식노드 중 더 큰 값 (9와 6중에서는 9~..