2025/02/14 4

백준 15649번: N과 M (1)

백트래킹모든 가능한 경우를 탐색하면서 조건을 만족하지 않으면 되돌아가는 방식입니다. 즉, 현재 선택한 숫자가 유효하지 않으면 즉시 되돌아가며 탐색을 최소화할 수 있습니다.단계visited 배열을 사용하여 숫자의 중복 선택을 방지합니다.현재 선택한 숫자를 저장하는 result 배열을 사용하여 출력할 수열을 저장합니다.재귀 함수 dfs(depth)를 통해 M개의 숫자가 선택될 때까지 반복하여 탐색합니다.depth가 M이 되면 현재 result 배열을 출력합니다.방문한 숫자를 다시 해제하여 다음 탐색을 진행합니다.코드 구현import java.util.*;public class Main { static int N, M; static boolean[] visited; static int[] re..

Algorithm 2025.02.14

자바(Java) Optional 이란?

Optional은 Java 8에서 도입된 클래스(java.util.Optional)로, null을 직접 다루는 대신 안전하게 값을 처리할 수 있도록 도와주는 컨테이너 클래스입니다. Optional을 사용하면 NullPointerException(NPE) 발생 가능성을 줄이고, 코드의 가독성을 높일 수 있습니다.2. Optional의 주요 메서드 및 사용 예제2.1 Optional 객체 생성하기import java.util.Optional;public class OptionalExample { public static void main(String[] args) { // 값이 존재하는 Optional 생성 Optional optionalValue = Optional.of("H..

Back_End/JAVA 2025.02.14

얼리 리턴 패턴(Early Return Pattern) 이란?

1. 얼리 리턴 패턴이란?얼리 리턴 패턴(Early Return Pattern)은 함수나 메서드에서 불필요한 코드 실행을 줄이고, 조건을 만족하지 않을 경우 즉시 반환(return)하여 코드의 가독성과 유지보수성을 높이는 기법이다.일반적으로 if-else 블록을 중첩하여 처리하는 방식보다 조건을 먼저 검사하고 빠르게 반환하는 방식이 더 직관적이고 오류를 줄이는 데 도움이 된다.2. 얼리 리턴 패턴의 장점가독성 향상불필요한 중첩을 줄여 코드가 더 간결하고 읽기 쉬워진다.유지보수 용이조건별로 빠르게 리턴하여 코드 흐름을 단순화할 수 있다.불필요한 연산 방지특정 조건이 만족되지 않으면 즉시 종료하여 불필요한 연산을 방지할 수 있다.3. 일반적인 코드 vs 얼리 리턴 패턴 적용 코드❌ 중첩된 if-else 방식..

Back_End/JAVA 2025.02.14

Java의 Comparator vs Comparable

Java에서 객체를 정렬할 때 사용하는 두 가지 인터페이스가 있습니다: Comparable과 Comparator입니다. 이 두 인터페이스는 컬렉션 내 객체를 정렬할 때 중요한 역할을 하며, 각각의 특징과 사용법이 다릅니다. 이번 글에서는 Comparable과 Comparator의 차이점을 설명하고, 예제와 함께 실무에서 어떻게 활용할 수 있는지 알아보겠습니다.1. Comparable 인터페이스란?Comparable 인터페이스는 클래스 자체에 정렬 기준을 정의할 때 사용합니다. 즉, 객체가 자신과 다른 객체를 비교할 수 있도록 합니다.Comparable 인터페이스의 특징java.lang.Comparable 인터페이스를 구현해야 합니다.compareTo(T o) 메서드를 오버라이딩하여 정렬 기준을 정의합니다..

Back_End/JAVA 2025.02.14