목록분류 전체보기 (157)
원하는 것은 뭐든지
문제풀이모든 음식을 원하는 스코빌지수에 맞추고 싶은 성격 이상한 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~..
문제 현재 개발되어야 하는 기능의 공정률과 개발속도가 입력으로 들어온다.각자 다른 개발자가 기능을 개발하기 때문에 동시에 개발되지만, 이전 기능이 개발되지 않으면 에러가 발생하기에 배포할 수 없다. 뒤의 기능이 개발이 완료되더라도 이전의 기능이 개발완료되지 않았으면 이전 기능이 개발완료 되는 시점에 함께 배포된다.풀이제출 1 - 오답import java.util.*;class Solution { public int[] solution(int[] progresses, int[] speeds) { int processing = (100-progresses[0])/speeds[0]; if((100-progresses[0])%speeds[0] != 0) process..
문제풀이입력 n이 주어지면 크기 n부터 1까지의 막대가 기둥(1)에 쌓여있다.이 모든 막대를 기둥(3)으로 옮겨주면 된다.여기서 제한 조건은 한 번에 하나의 막대만 옮길 수 있고 작은 막대 위에 큰 막대를 놓을 수 없다. 우리는 3번의 위치로 모든 막대를 옮겨야 하는데 가장 큰 막대가 아래에 있어야 하므로 3번에 가장 큰 막대를 먼저 넣어줘야 한다. 그리고 그 막대는 더 이상 움직이지 않는다. n=1일 경우에는 기둥(1)에서 기둥(3)으로 옮겨주면 된다. 1회 n=2일 경우에는 첫 막대를 기둥(1)에서 기둥(2)로 옮겨주고, 크기가 2인 막대를 기둥(1)에서 기둥(3)으로 옮겨주고, 기둥(2)에서 기둥(3)으로 막대를 옮겨준다. 3회 (이후부터 기둥은 (번호)로 표시) n=3일 경우에 (1)->(3) (..