전체 글 43

백준 11286번 절댓값 힙

대표적인 자료구조 활용 문제이다.문제를 해결하기 위해서는 다음과 같은 사고와 판단이 필요하다고 생각한다.절댓값이 작은 숫자부터 출력해야 하므로 우선순위 큐라는 자료구조를 사용해야 한다.우선순위 큐를 적절히 활용하여 절댓값이 작은 순서대로 순위를 매겨야 한다.우선순위 큐의 활용을 묻는 문제기에 엄청나게 복잡하지는 않다.풀이 방식은 우선순위 큐를 직접 구현하는 경우가 아니라면 두 가지로 나뉘는 것 같다.우선순위 큐의 요소 순서를 절댓값으로 판단하여 작은 순서대로 배치우선순위 큐를 두 개 사용하여 절댓값 계산을 통해 요소 출력필자는 2번 방식으로 풀었다.import java.io.*;import java.util.*;public class Main { public static void main(Strin..

알고리즘/백준 2024.06.21

싱글톤 패턴(Singleton Pattern)

싱글톤이란?하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 하나의 클래스를 기반으로 여러 개의 개별적인 인스턴스를 만들 수 있지만, 그렇게 하지 않고 하나의 클래스를 기반으로 단 하나의 인스턴스를 만드는 패턴이다. 일반적으로 데이터베이스 연결 모듈에서 많이 사용된다.예제 코드일반적으로 싱글톤 패턴은 자바에서 사용빈도가 높으므로 자바로 예시를 들겠다.class Singleton { private static class singleInstanceHolder { private static final Singleton INSTANCE = new Singleton(); } public static Singleton getInstance() { return sin..

디자인 패턴

디자인 패턴이란?프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 "규약" 형태로 만들어 놓은 것을 의미한다. 디자인 패턴은 크게 3가지로 구분된다.생성 패턴구조 패턴행위 패턴생성 패턴생성 패턴은 객체 생성에 관련된 패턴이다. 객체의 생성과 조합을 캡슐화해 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 크게 받지 않도록 유연성을 제공한다.생성 패턴의 역할을 요약하면 "추상 객체 인스턴스화"이다. 생성 패턴은 5가지가 있다.추상 팩토리빌더팩토리 메서드프로토타입싱글톤 정처기를 공부할 때 "추빌팩프싱"이라고 외운 패턴들이다.구조 패턴클래스나 객체를 조합해 더 큰 구조를 만드는 패턴이다. 서로 다른 인터페이스를 지닌 두 개의 객체를 묶어 단일 인터페..