목록Study/Problem Solving (163)
전공공부
확실히 문제 자체는 쉬웠으나 자료형 체크가 필요했던 문제이다. B 감독관이 볼 수 있는 학생 수 1, C 감독관이 볼 수 있는 학생 수 1 이고 나머지 시험장의 갯수가 10만개, 응시자 수 10만개면 100000*100000을 보아야 하는데 이때의 볼 수 있는 최소한의 감독관의 수는 어마어마하게 큰 수가 된다. 따라서 ans를 넣을 변수를 long으로 설정하자 package DFS; import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * BOJ_13458 */ public class BOJ_13458 { public static void main(String[] args) { Scanner sc = new Sca..

상담원으로 일하고 있는 백준이는 퇴사를 하려고 한다. 오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다. 백준이는 비서에게 최대한 많은 상담을 잡으라고 부탁을 했고, 비서는 하루에 하나씩 서로 다른 사람의 상담을 잡아놓았다. 각각의 상담은 상담을 완료하는데 걸리는 기간 Ti와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어져 있다. Ti : 걸리는 시간 Pi : 최대 이익 1일에 잡혀있는 상담은 총 3일이 걸리며, 상담했을 때 받을 수 있는 금액은 10이다. 5일에 잡혀있는 상담은 총 2일이 걸리며, 받을 수 있는 금액은 15이다. 상담을 하는데 필요한 기간은 1일보다 클 수 있기 때문에, 모든 상담을 할 수는 없다. 예를 들어서 1일에 상담을 하게 되면..
스택 자료구조 특성상 FIFO을 이용한 풀이이다. 1) 스택에 인덱스 값을 저장 2) 하강하는 배열이면 바로 스택에 추가하여 관리한다. 3) 스택의 가장 peek 값인 제일 최신의 앞 자리수와 현재 들어온 뒷 자리인 값을 비교 4) 뒷 자리가 스택의 peek 부분 보다 크다면 바로 뒤에 존재하는 큰 수 이다. 이 때의 값을 answer 배열에 저장하고 이때 사용된 numbers 값은 스택에 집어 넣어서 다음에 나올 뒷 숫자와 비교를 진행한다. ※ 스택에 들어가는 수들은 다음 숫자와의 비교를 위해서 들어가고 스택은 FIFO 인 것을 생각해야 보인다. import java.util.*; class Solution { public static int[] solution(int[] numbers) { int[]..