목록자료구조 (42)
기록방
👉 문제링크 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 🔸 문제 분석 🔸 T번의 테스트 케이스에서 다음 계산을 반복한다. 연산 p를 입력받는다. n 크기의 배열을 입력받는다. 연산을 수행한다. R : 뒤집기 D : 첫 번째 수 버리기 n과 p의 길이의 최대값이 10만이므로 R연산마다 배열을 직접 뒤집으면 시간초과가 난다. 배열의 시작과 끝 인덱스에 각각 포인터를 두고, 뒤집힌 상태를 보며 D연산을 수행한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.Input..
👉 문제링크 2304번: 창고 다각형 첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 www.acmicpc.net 🔸 문제 분석 🔸 주어진 기둥들을 사용해 창고를 지을때 만들 수 있는 면적 중 최소값을 출력한다. 조건들을 맞춰서 최소면적을 구하는 방법은 다음과 같다. 가장 높은 기둥을 중심으로 왼쪽 오른쪽으로 낮아지는 지붕 오목한 부분이 없어야 하므로 끝에서 가장 높은 기둥까지 다가오며, 더 큰 기둥을 만날때만 높이를 높임 🔸 코드 🔸 import java.util.Arrays; import java.util.Comparator; import j..
👉 문제링크 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 🔸 문제 분석 🔸 n개의 문자열을 집합으로 저장한다. m개의 문자열을 입력받아 저장된 집합에 포함된 문자열이 몇 개인지 출력한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashSet; import java.util.StringTokenizer; pub..
👉 문제링크 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 🔸 문제 분석 🔸 두 집합을 입력받고 각각 차집합을 계산해서 원소 개수의 합을 출력한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashSet; import java.util.StringTokenizer; public class Main { public static void m..
👉 문제링크 9733번: 꿀벌 각각의 일을 한 횟수와 비율을 공백으로 구분하여 출력한다. 출력은 {Re,Pt,Cc,Ea,Tb,Cm,Ex} 순서대로 하며, 비율은 소수점 둘째 자리까지 출력한다. 주어진 목록에 없는 일은 출력하지 않는다. 입력의 www.acmicpc.net 🔸 문제 분석 🔸 해시 맵을 이용해서 7가지 벌의 일과를 키로 저장하고 값을 카운트한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map.Entry; import java.util.StringTokenizer; public c..