문제 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 언어 자바 JAVA 로직 이진탐색트리 사용 전체 코드 이진탐색트리를 사용하였다. 이진탐색트리란 배열에서 검색해야 하는 범위를 절반씩 줄여나가면서 원하는 값을 찾는 방법이다. 배열을 처음부터 끝까지 모두 탐색하는 것보다 절반씩 줄여나가면서 찾는 것이 훨씬 빠르다. 최악의 경우를 예로 들자면, 배열의 요소가 10만개가 존재하는데 0번 인덱스부터 탐..
문제 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 언어 자바 JAVA 로직 문자를 모두 입력받아 리스트에 저장한다. 리스트를 정렬한다. 비교하는 두 문자열의 길이가 같다면 String의 기본 정렬을 사용한다. 비교하는 두 문자열의 길이가 다르다면 두 문자열의 길이 차이를 오름차순으로 정렬한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io...