본문 바로가기

java48

[ JAVA ] Stack 총 정리 자료구조의 큐와 비교되는 형태로 LIFO ( Last In First Out ) 후입선출 의 구조를 가지고 있습니다. 그래프의 DFS( 깊이우선탐색 )에 사용 재귀적 함수 호출 시 사용 Stack 자료구조를 사용하기 전 import java.util.* 필수! import java.util.*; Stack 선언 import java.util.*; Stack stack = new Stack(); //int형 스택 선언 Stack 값 삽입 Stack stack = new Stack(); // int형 스택 선언 stack.push(2); // stack에 2 추가 stack.push(4); // stack에 4 추가 stack.push(5); // stack에 5 추가 // 2, 4, 5 Stack 값 삭제.. 2021. 2. 2.
[ JAVA ] Queue 총 정리 자료구조의 스택과 항상 비교되는 형태로 FIFO ( First In First Out ) 선입선출의 특징을 가지고 있습니다. BFS ( 그래프 넓이 우선 탐색 ) 에서 사용 JAVA에서 Queue 자료구조를 사용하기 위해서는 import java.util.* 필수! import java.util.*; Queue 선언 Queue queue = new LinkedList(); // linkedlist를 이용하여 int형 queue 선언 // 물론 다른 타입의 queue도 선언 가능 Queue에 값 삽입 Queue queue = new LinkedList(); queue.add(1); // queue에 값 1 추가 queue.offer(3); // queue에 값 3 추가 // add와 offer를 사용하여 .. 2021. 1. 31.
[프로그래머스] 주식가격 문제 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 풀이 이중 반복문 사용 현재 비교하는 값과 그 이후의 값들을 반복문으로 비교 비교하는 값보다 큰값이 나오면 break; 바로 다음 값에서 주식가격이 하락하더라도 1초가 유지된 것으로 보기 때문에 다음값과 비교하기 전에 count 값 증가 [ JAVA ] 효율성 O, 정확성 O 2021. 1. 30.
[프로그래머스] 야근지수 문제 회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도를 최소화하도록 일할 겁니다.Demi가 1시간 동안 작업량 1만큼을 처리할 수 있다고 할 때, 퇴근까지 남은 N 시간과 각 일에 대한 작업량 works에 대해 야근 피로도를 최소화한 값을 리턴하는 함수 solution을 완성해주세요. 제한사항 works는 길이 1 이상, 20,000 이하인 배열입니다. works의 원소는 50000 이하인 자연수입니다. n은 1,000,000 이하인 자연수입니다. 풀이 야근 피로도의 최소값을 구해야 함 = 즉, 제곱의 합의 최소값을 구해야 함 만약 남은 작업량이 배열 [ .. 2021. 1. 30.
[ JAVA ] Math.pow Math 는 java.lang에 속하기 때문에 따로 import 없이 사용 가능! Math.pow( 숫자, 지수 값 ) 형식으로 넣어서 계산하며, 결과 값은 항상 double 타입 입니다. Math.pow를 이용한 지수 계산하기 public class Math { public static void main(String[] args) { double pow = Math.pow(4, 2); // 4의제곱 System.out.println(pow); // 16 } } 2021. 1. 29.
[ JAVA ] Arrays 총 정리 Arrays를 사용하기 전에는 import 필수! import java.util.*; Arrays.sort 정렬 - default 오름차순 int [] arr = {2,4,12,15,17,23}; Arrays.sort(arr); // 2,4,12,15,17,23 String [] arr = {"apple","banana","canada", "iphone"}; Arrays.sort(arr); // apple, banana, canada, iphone Arrays.sort 정렬 - 내림차순 Integer [] arr = {2,4,12,15,17,23}; Arrays.sort(arr,Collections.reverseOrder()); // 내림차순 시, Collections를 사용해야 함으로 가장 기본타입인 .. 2021. 1. 29.