반응형

구현 4

[Algorithm] 배열의 구간 합 알고리즘 (Prefix Sum) - Java

구간 합구간 합(Prefix Sum)은 주어진 배열의 특정 구간, 즉 배열의 연속된 요소들의 합을 의미하다. 예를 들어, 배열이 [1, 2, 3, 4, 5]라 할 때 2번째 요소부터 4번째 요수까지의 구간 합은 2 + 3 + 4로 9가 된다. 자바에서 구간 합을 구하기 위해 일반적으로 다음과 같이 반복문을 사용한다.int[] arr = {1, 2, 3, 4, 5};int sum = 0;for (int i = 1; i  다음과 같이 2차원 배열의 경우에는 2중 반복문을 통해 구한다.1 2 34 5 67 8 9 int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};int sum = 0;for (int i = 0; i   구간 합 알고리즘구간 합 알고리즘은 주어진 배열의 ..

[Algorithm] 파스칼의 삼각형 알고리즘 구현하기 (Pascal's triangle) - Java

파스칼 삼각형파스칼의 삼각형은 블레즈 파스칼에 의해 제안된 삼각형으로 구성된 배열이다.파스칼의 삼각형은 다음과 같은 규칙이 있다.각 행의 첫 번째와 마지막의 숫자는 1이다.각 행의 중간에 위치한 숫자는 이전 행의 왼쪽 위치에 있는 숫자와 바로 위에 있는 숫자의 합이다. 구현위 두 규칙을 통해 파스칼의 삼각형을 2차원 배열로 구현해 보자.public class Main { public static void main(String[] args) { int n = 7; // 파스칼의 삼각형 만들기 int[][] pascal = new int[n][]; for (int i = 0; i // 출력1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10..

[Java] 싱글톤 패턴(Singleton Pattern) - 개념 및 예제

싱글톤 패턴(Singleton Pattern) 싱글톤 패턴은 객체 지향 프로그래밍에서 특정 클래스가 단 하나만의 인스턴스를 생성하여 사용하기 위한 패턴이다. 생성자를 여러 번 호출하더라도 인스턴스가 하나만 존재하도록 보장하여 애플리케이션에서 동일한 객체 인스턴스에 접근할 수 있도록 한다. 싱글톤 패턴을 사용하는 이유 커넥션 풀, 스레드 풀, 디바이스 설정 객체 등과 같은 경우 인스턴스를 여러 개 만들게 되면 불필요한 자원을 사용하게 되고, 프로그램이 예상치 못한 결과를 낳을 수 있다. 따라서 객체를 필요할 때마다 생성하는 것이 아닌 단 한 번만 생성하여 전역에서 이를 공유하고 사용할 수 있게 하기 위해 싱글톤 패턴을 사용한다. 싱글톤 패턴의 장단점 장점 유일한 인스턴스 : 싱글톤 패턴이 적용된 클래스의 ..

[자료구조] 힙(heap)이란? - 개념 정리

힙(heap) 힙은 이진트리로서 우선순위 큐(Priority Queue)를 사용하기 위해 만들어진 자료구조이다. 여러 개의 값들 중에서 최댓값이나 최솟값을 빠르게 찾을 수 있고, 이진 탐색 트리와는 달리 중복 값을 허용하는 것이 특징이다. 힙은 완전히 정렬된 것은 아니지만 그렇다고 정렬이 안된 것도 아니다. 이러한 상태를 느슨한 정렬 상태 또는 반정렬 상태라고 한다. 힙(heap)의 종류 최소 힙(Min heap) 부모 노드의 키 값이 자식 노드의 키 값보다 작거나 같은 완전 이진트리 부모 노드의 키 값 ≤ 자식 노드의 키 값 최대 힙(Max heap) 부모 노드의 키 값이 자식 노드의 키 값보다 크거나 같은 완전 이진트리 부모 노드의 키 값 ≥ 자식 노드의 키 값 힙(heap)의 구현 힙은 배열을 이용..

반응형