정확성은 다 맞는데, 효율성이 떨어진다. 효율성 2번, 3번은 도대체 어떻게 할지 모르겠다. 또한 효율성 통과 기준이 너무 높다. 19ms는 충분히 빠르다. 반드시 이분 탐색으로 풀어야 효율성 테스트를 통과하는 듯 하다. 정확성은 좀 쉬운데, 효율성 테스트가 또 마의 영역이다. 이 문제에서 이분 탐색을 어떻게 활용해야되는지 모르겠다. 너무 많이 진행되어 엎을 수 없어 보완했다. import java.util.Arrays; public…… 프로그래머스 예산 계속 읽기
[태그:] programmers
프로그래머스 2xn 타일링
문제를 읽으면 어렵다. 출제자 기준에서 생각한다면, 답이 큰 수임을 보고 수열을 묻는 문제임을 알아야 한다. 이 바닥에서 유명한 피보나치 수열을 묻는 문제라고 눈치채야 한다. public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Solution sol = new Solution(); int n = 0; for (int i = 0; i <…… 프로그래머스 2xn 타일링 계속 읽기
프로그래머스 베스트앨범
내가 너무 어렵게 푸나? 다른 사람 코드는 쉽던데. 이 문제가 java Collection framework를 아는지 물어본다. 물론 난 잘 모르지만. import java.util.ArrayList; import java.util.Comparator; import java.util.Iterator; import java.util.TreeMap; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub // 시작.. // String[] operations = { “I16”, “I10”, “I20”, “D1” }; String[]…… 프로그래머스 베스트앨범 계속 읽기
프로그래머스 이중우선큐
아래처럼하면 될듯하다. 위 방법대로 하려다 잘 안된다. max 큐에서 min큐로 변경될 때 연산이 하나씩 틀어진다. 결국 max queue를 poll하면 min queue를 클리어하고, max queue로 업데이트 했다. import java.util.Collections; import java.util.regex.*; import java.util.PriorityQueue; public class Main { public static void main(String[] args) { // 시작.. // String[] operations = { “I16”, “I10”, “I20”, “D1” }; String[]…… 프로그래머스 이중우선큐 계속 읽기
프로그래머스 디스크컨트롤러
웹에 올린 결과는 틀림. 그러나 내가 맞다 생각한다. 문제는 아래와 같다. 작업이 [시작 시각, 작업 길이] 2차원 배열로 들어온다.작업이 연속될 경우, 이 안에서 작업 길이를 짧은 순으로 정렬하여 실행한다.각 작업에 대한 기다린 시간 + 작업 시간을 계산한다.작업 개수를 총 시간으로 나눠준다. 여기에서 배열을 한번에 읽는다. 첫번째 작업 순서를 읽을 때, 모든 작업 순서를 결정할 수…… 프로그래머스 디스크컨트롤러 계속 읽기