2024.08.15기준 - 골드4백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 주어진 키워드가 I 또는 D가 들어올 때, I n 이면 n을 추가 D 1 이면 최댓값을 D -1이면 최솟값을 제거 후 최댓값과 최솟값을 출력하는 문제입니다. 이 문제는 시간초과가 많이 나와 여러가지 방법을 찾다가 TreeMap을 활용하여 문제에 접근하게 되었습니다.처음엔 priorityqueue를 이용해 오름차순, 내림차순의 큐를 2개 생성해 해당 값을 제거할 때, remove를 사용해 제거를 진행했지만 시간초과가 나와 여러가지 방법을 생각해보았습니다. 우선 TreeMap에 대한 설명을 하자면키의 자동 정렬TreeMap은 키를 기준으로 자동으로 정렬을 합니다.기본적으로 오름차순으로 정렬되지만, 커스텀 Comp..
※ 공부 내용의 복습 개념으로 정리된 글입니다. - 출처 시나공 제어문의 개념컴퓨터 프로그램은 명령어가 서술된 순서에 따라 무조건 위에서 아래로 실행되는데, 조건을 지정해서 진행 순서를 변경할 수 있습니다. 이렇게 프로그램의 순서를 변경할 때 사용하는 명령문을 제어문이라고 합니다.제어문의 종류에는 if문, 다중 if문, switch문, goto, 반복문 등이 있습니다.※ 반복문반복문은 일정한 횟수를 반복하는 명령문입니다. 단순 if문if문은 조건에 따라서 실행할 문장을 달리하는 제어문이며, 단순 if문은 조건이 한 개일 때 사용하는 제어문입니다.조건이 참일 때만 실행할 문자을 지정할 수도 있고, 참과 거짓에 대한 각각 다른 실행문을 지정할 수도 있습니다.형식 1 : 조건이 참일 때만 실행합니다.조건이 ..
2024.08.09기준 - 브론즈2백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 입력받은 수만큼 문자열과 문자가 들어옵니다.들어온 문자열에 따라서커서를 기준으로 왼쪽에 문자를 추가합니다.커서를 왼쪽으로 이동합니다. (단, 가장 왼쪽에 있다면 아무런 행동을 하지 않습니다.)커서를 오른쪽으로 이동합니다. (단, 가장 오른쪽에 있다면 아무런 행동을 하지 않습니다.)이 3가지 문자열에 따라 조건에 맞춰 입력받은 문자열을 그대로 출력하면 되는 문제입니다. 1. 입력받은 케이스가 0이라면 멈추도록 설정합니다.// 0이 입력되면 멈추도록 설정while (!(s = br.readLine()).equals("0")) {} 2. 케이스 수만큼 작동하는 만큼 입력을 받는 반복문을 돌려줍니다.while (n..
2024.07.17기준 - 브론즈1백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 주어진 입력에서 광합성만 가지는 미역의 최솟값과 최댓값을 구하는 문제입니다. 1. 미역의 실험 결과를 저장할 커스텀 클래스를 생성했습니다.// 미역의 실험 결과를 저장할 클래스private static class Seaweed { int p, m; public Seaweed(int p, int m) { this.p = p; this.m = m; }} 2. 미역 실험 결과를 저장할 리스트와 리스트에 객체를 추가해줍니다.// 미역 실험 결과를 저장할 리스트List list = new LinkedList();// 미역의 번호가 1부터 시작하기 때문에 n보다 1를 추가한다...