해시를사용한집합과맵9 [Baekjoon] 14425 - 문자열 집합 📝 문제 🔑 풀이 과정 · 집합을 사용해서 풀면 되는 문제. 풀이 생략 🔓 답안 import java.io.*; import java.util.HashSet; import java.util.Set; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st; //입.. 2023. 9. 13. [Baekjoon] 1302 - 베스트셀러 📝 문제 🔑 풀이 과정 · 책 개수 카운팅은 Map을 쓰고, 사전 순으로 가장 앞서는 제목을 출력하는 거니까 자바에서 기본제공하는 정렬을 쓰면 된다 까지는 파악했는데, 그 정렬을 어떻게 하지?에서 막혔었다. 근데 의외로 해결법은 간단했는데, → list로 따로 담아서 정렬을 시켜주면 된다. · 왜 항상 자료구조를 문제당 1개만 쓰려고 하는지...! 여러개 써도 상관없는데! 좀 생각을 다차원적으로 좀 해봐 내 자신아 · 그리고 Map.entrySet()이 문제풀이하면서 좀 많이 쓰이는 것 같다. 이번 기회에 이거 사용법좀 익히는 걸로... 🔓 답안 import java.io.*; import java.util.ArrayList; import java.util.Collections; import java.u.. 2023. 7. 19. [Baekjoon] 1269 - 대칭 차집합 📝 문제 🔑 풀이 과정 · HashSet을 사용해서 문제풀이를 했다. 🔓 답안 import java.io.*; import java.util.HashSet; import java.util.Set; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st; Set .. 2023. 7. 18. [Baekjoon] 7785 - 회사에 있는 사람 📝 문제 🔑 풀이 과정 · Set 자료구조를 사용해서 enter일 경우 Set에 추가, leave일 경우 Set에서 제거시킨다. · 그 후 이름을 사전 순의 역순으로 출력시키기 위해서 Set을 ArrayList로 변환한 뒤, Collections.sort() 를 사용해서 역순으로 정렬시켜준다. 🔓 답안 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWrit.. 2023. 7. 17. [Baekjoon] 9375 - 패션왕 신해빈 📝 문제 🔑 풀이 과정 의상의 종류를 key, 그 종류의 의상 개수를 value로 담는 map을 생성해서 풀이한다. 총 경우의 수는 종류별 의상 개수를 + 1을 해준 후 다 곱한 후 - 1을 해주는 것이다. +1을 해주는 이유: 아무것도 선택하지 않는 경우를 넣어주는 것(None이라는 경우를 넣어준다고 생각하면 된다) -1을 해주는 이유: 모든 경우가 아무것도 선택하지 않는 경우(알몸인 경우)를 빼주는 것 * 꼭 모든 종류의 의상을 입어야 하는 것이 아니다. 딱 한가지만 입어도 된다. 알몸만 아니면 되는 것 🔓 답안 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IO.. 2023. 7. 9. [Baekjoon] 1620 - 나는야 포켓몬 마스터 이다솜 📝 문제 (문제 윗부분 생략) 🔑 풀이 과정 ⭐ 문제 풀이 요약 → 입력으로 번호(숫자)가 들어오면 포켓몬 이름을 출력, 입력으로 포켓몬 이름이 들어오면 번호를 출력 처음에는 Map을 하나만 만들어서 번호가 들어오면 문자열을 뽑고, 문자열이 들어올때는 entrySet을 사용해야 하나? 했으나 entrySet은 결국 전체 탐색을 해야하므로 M * N번 연산이 나오고 10^10으로 시간초과가 될 것 같았다. 그러나 의외로 해결방법이 간단했다. Map을 2개 사용하던지, 문자열 배열을 하나 더 생성하던지 해서 저장공간을 2개 사용하면 됐던것. (+ 나중 찾아보니 Map을 하나 생성해서 한 번 쌍을 한 번에 넣으신 분도 봤다.) 또한, 입력 숫자는 무조건 1보다 크거나 같다는 조건이 있었기에 나는 입력이 숫자인.. 2023. 7. 9. 이전 1 2 다음