본문 바로가기

알고리즘/프로그래머스9

위클리 챌린지 > 10주차 import java.util.*; class Point { double x, y; Point(double x, double y) { this.x = x; this.y = y; } } class Solution { public String[] solution(int[][] line) { String[] answer; ArrayList arr = new ArrayList(); long x_min = Long.MAX_VALUE, x_max = Long.MIN_VALUE; long y_min = Long.MAX_VALUE, y_max = Long.MIN_VALUE; for (int i = 0; i < line.length; i++) { double A = (double) line[i][0]; double B .. 2021. 10. 16.
코딩테스트 연습 > 스택/큐 level 2. 기능개발 import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { int[] answer; ArrayList arr = new ArrayList(); int[] day = new int[progresses.length]; for (int i = 0; i < progresses.length; i++) { day[i] = (int) Math.ceil((100 - progresses[i]) / (double) speeds[i]); } int cnt = 1; int idx = 0; for (int i = 0; i < day.length - 1; i++) { if (day[idx] < da.. 2021. 10. 14.
코딩테스트 연습 > 정렬 level 1. K번째 수 import java.util.*; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for (int i = 0; i < commands.length; i++) { ArrayList tmp = new ArrayList(); int start = commands[i][0] - 1; int end = commands[i][1] - 1; for (int j = start; j 0) { if (b == 10000) { result = result * 100000 + 10000; break; } else if (b == 1000) { r.. 2021. 10. 13.
코딩테스트 연습 > 힙(Heap) level 2. 더 맵게 import java.util.*; class Solution { public int solution(int[] scoville, int K) { int answer = 0; PriorityQueue pq = new PriorityQueue(); for (int i = 0; i < scoville.length; i++) pq.offer(scoville[i]); while (pq.size() != 1) { int n1 = pq.poll(); if (n1 < K) { int n2 = pq.poll(); pq.offer(n1 + n2 * 2); answer++; } else { break; } } if (pq.size() == 1 && pq.peek() < K) return -1; r.. 2021. 10. 13.