목록해시를 사용한 집합과 맵 (11)
기록방
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dqgUMG/btrXnIo0Ono/w3KxSUjhsTRjqE25mQxZz1/img.png)
👉 문제링크 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 🔸 문제 분석 🔸 문자열을 입력받아 부분 문자열의 종류를 출력한다. 입력받은 문자열s를 1부터 s의 크기까지의 길이로 잘라 부분 문자열을 구한다. 문자열의 중복을 피해 저장하고, 개수를 출력한다. 🔸 코드 🔸 import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Stri..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/AKElp/btrSYmpYbHb/LMPVO2VpET53eG0OWTPlEK/img.png)
👉 문제링크 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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bLo2qF/btrSW7s11Ip/GL94d1VpK73CH1xiZlsQUK/img.png)
👉 문제링크 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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/tVpfL/btrSVJe4rSa/UXHsMoKtXOZi92zmbkbHJK/img.png)
👉 문제링크 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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nZe0S/btrSBnI3Mbj/4tUcaWgX9oMC8lUz9Q96j1/img.png)
👉 문제링크 4158번: CD 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 상근이가 가지고 있는 CD의 수 N, 선영이가 가지고 있는 CD의 수 M이 주어진다. N과 M은 최대 백만이다. 다음 줄 www.acmicpc.net 🔸 문제 분석 🔸 n과 m이 입력되면 n개의 수와 m개의 수가 입력되고 겹치는 숫자의 개수를 출력한다. 오름차순 정렬된 수가 입력되므로 투 포인터 알고리즘을 사용해 풀이한다. 0 0이 입력 될 때까지 반복한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; import ..