목록2024/05/21 (2)
처음부터 차근차근
문제 : https://www.acmicpc.net/problem/1920이 문제는 시간 제한이 1초로 굉장히 짧다.그래서 이분탐색(이진탐색) 알고리즘을 사용해야 한다.정말 놀라운 사실이.. 자바에는 이분탐색 함수가 이미 만들어져 있다!!!그래서 손쉽게 풀 수 있었다. 문제에서 사용되는 개념이분탐색(이진탐색)정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법.예시){1, 2, 3, 4, 5} 배열이 있고, 찾고자 하는 값은 2 이다.가장 먼저 가운데 3을 찍어서 2가 3보다 큰지 작은지 같은지 비교하고, 3보다 작으면 왼쪽으로, 크면 오른쪽으로 가서 찾는다. Arrays.binarySearch(arr, key) https://docs.oracle.com/javase/8/docs/..
문제 : https://www.acmicpc.net/problem/1676 문제의 최댓값인 500!은 자릿수만 1135자 가까이 돼서 일반적인 int문으로 데이터를 담는것이 불가능하다.그래서 BigInteger을 써야한다. 문제에서 사용되는 개념 BigInteger 타입범위기본형/참조형저장 위치int-2,147,483,648 ~ 2,147,483,647기본형(value type)StackBigInteger무한 (Infinity)참조형(reference type)Heap 선언 방법import java.math.BigInteger;BigInteger num = new BigInteger("1"); 연산num.subtract(BigInteger.valueOf(2))num.multiply(BigInteger..