Algorithm/Java8 Java - BigInteger, BigDecimal 이제 Big 이다. 이걸 몰라서, 알고리즘 문제를 틀린적이 많다. 기존 숫자형을 통해서 수가 커질때 오버플로우를 안 일으키기 위해 아무리 숫자를 압축한다고 해도 사실 한개가 있다.그것을 이걸로 해결할수 있다.참고로 파이썬은 자동으로 된다고 알고 있다..... BigInteger먼저 BigInteger를 써야만 하는 이유를 확실히 알아야 합니다. 자바의 가장 큰 정수 자료형인 long은 8바이트로, 약 -922경 ~ +922경 (-2^63 ~ 2^63-1)까지 표현할 수 있습니다. 엄청나게 큰 숫자 같지만, 코딩 테스트의 특정 유형 앞에서는 무력해집니다. 생성 방법생성 방법설명예시new BigInteger("...")long 범위를 넘는 아주 큰 숫자를 담을 수 있는 유일한 방법입니다.BigIntege.. 2025. 9. 21. Java - Math 클래스 이제 기본적인 연산을 위한 Math 클래스를 정리해보자!참고로 import java.math.*; 이걸 할 필요 없다. Math 연산Math 클래스는 java.lang 패키지에 포함되어 있어 import 없이 바로 사용할 수 있습니다. 또한, 모든 메서드가 **정적(static)**으로 선언되어 있어, new Math()처럼 객체를 생성할 필요 없이 Math.메서드() 형태로 바로 호출하면 됩니다. 기본 연산 Math.abs(num)숫자의 절댓값을 반환합니다. int, long, double 등 모든 숫자 타입에 사용 가능합니다.파라미터와 동일int a = Math.abs(-10); // 10 double d = Math.abs(-3.14); // 3.14Math.max(a, b)두 숫자 중 더 큰.. 2025. 9. 21. Java - 스트림 (Stream), 람다, :: 이제 스트림이다. 사실 알고리즘 문제를 풀때 많이 사용해본적은 없다. Shopsphere 라는 프로젝트를 할때 판매량 통계를 위해서 좀 사용해보았는데, 간단하게 정리가 가능해서 좋았던 것 같다.일단 정리해 보겠다. Stream 형식한 줄 요약: 데이터의 흐름(Stream)을 만들어, 여러 처리 단계를 거치는 파이프라인(Pipeline)을 통해 원하는 결과를 얻어내는 기술 Before (기존 방식)List names = Arrays.asList("Spring", "Java", "Backend", "Test");List result = new ArrayList();for (String name : names) { if (name.length() >= 5) { result.add(name... 2025. 9. 21. Java - Map (key, value), Set 가져오기 이제 key와 value를 가져오는 방법을 정리 할까 한다.사실 패키지에 있는 중요 메서드들만 정리하려고 했는데, 파고파다 보니까 계속 정리할게 나온다.예전에 알고리즘 공부해서 좀 이미 알고 있지만 그래도 확실히 해두고 가자! Key 가져오기한 줄 요약: Map의 모든 Key들을 Set 형태로 반환합니다. 언제 사용하나?: Map에 어떤 Key들이 있는지 순회하거나, Key들을 정렬하고 싶을 때 사용합니다.Map map = new HashMap();map.put("Java", 1);map.put("Spring", 5);map.put("Python", 3);// keySet()을 호출하여 Key들을 Set으로 가져옵니다.Set keySet = map.keySet(); // ["Java", "Python".. 2025. 9. 20. 이전 1 2 다음