💡 브릿지 패턴이란 큰 클래스 또는 밀접하게 관련된 클래스들의 집합을 두 개의 개별 계층 구조(추상화 및 구현)로 나눈 후 각각 독립적으로 개발할 수 있도록 하는 구조 디자인 패턴입니다. 브릿지 패턴은 상속에서 객체의 합성으로 전환하여 위 문제를 해결합니다. 즉, 차원 중 하나를 별도의 클래스 계층 구조로 추출하여 원래 클래스들이 한 클래스 내에서 모든 상태와 행동들을 갖는 대신 새 계층 구조의 객체를 참조하도록 하는 것입니다. 여기서 모양 클래스는 색상 객체들 중 하나를 가리키는 참조 필드를 받습니다. 이제 모양은 연결된 색상 객체에 모든 색상 관련 작업을 위임할 수 있습니다. 이 참조는 이제부터 모양 및 색상 클래스들 사이의 Bridge(다리) 역할을 하게 됩니다. 이제 새 색상들을 추가할 때 모양 ..
🧑🏻💻 Fac si facis
💡 오늘의 학습 키워드 - 번호표 교환 - 제리와 톰 2 🥉 번호표 교환 문제 링크 : https://www.acmicpc.net/problem/11949 문제 설명 더보기 교실에는 N명의 학생들이 한 줄로 서 있다. 각 학생들은 번호표를 하나씩 가지고 있다. i번째 학생의 번호표에 적힌 수는 Ai이다. 그리고 M개의 카드가 있다. 이 카드는 1부터 M까지의 값을 가진다. 각 카드는 반드시 1부터 사용하며, k (2 ≤ k ≤ M) 번 카드는 k-1번 카드를 쓴 다음에 쓴다. 게임의 규칙은 다음과 같다. 선생님이 1번 학생에게 i번 카드를 준다. (1 ≤ i ≤ M)카드를 받은 j번 학생은 j+1번 학생에게 카드를 넘긴다. Aj % i의 값이 Aj+1%i 의 값보다 크면 두 학생의 번호표를 서로 교환한다..
싱글톤 패턴이란 불필요한 인스턴스 생성 없이 오직 한 개의 인스턴스만 생성하여 사용되는 디자인 패턴입니다. 싱글톤 패턴을 사용하는 이유 1. 단일 인스턴스를 보장합니다. 최초 한번의 new 연산자를 통해 고정된 메모리 영역을 사용하여 메모리 낭비를 방지합니다. 이미 생성된 인스턴스를 활용하면서 속도 측면에서 장점을 가지고 있습니다. 2. 전역 액세스 지점을 제공합니다. 싱글톤 인스턴스는 전역적으로 접근 가능한 유일한 지점입니다. Application 어디에서도 이 인스턴스에 접근할 수 있어 데이터 공유와 통신에 용이합니다. 전역 변수는 편리하지만 모든 코드가 잠재적으로 해당 변수 내용을 덮어쓸 수도 있고, 그로 인하여 앱에 오류가 발생해 충돌이 일어날 수도 있으므로 안전한 방법이 아닙니다. 싱글톤 패턴의..
💡 오늘의 학습 키워드 - 정수 내림차순으로 배치하기 - 큰 수 만들기 - 두 원 사이의 정수 쌍 🥉 정수 내림차순으로 배치하기 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12933 문제 설명 더보기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 1. n은 1이상 8000000000 이하인 자연수입니다. 문제 회고 💡 어떤 문제가 있었고, 나는 어떤 시도를 했는지 그리고 새롭게 안 사실은 무엇인지 💡 내가 해결한 방식은? def solution(n): answer = [nu..
GoF 디자인 패턴SW 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴으로GoF라 불리는 4명이 1995년에 처음으로 구체화 한 SW 디자인 패턴입니다. GoF 디자인 패턴 분류표목적에 따라 생성 패턴 5개, 구조 패턴 7개, 행위 패턴 11개, 총 23개 패턴으로 구성됩니다.범위에 따라 주로 클래스에 적용하는지, 객체에 적용하는지 구분됩니다. 생성 (Creational)구조 (Structural)행위 (Behavorial)클래스Factory MethodAdapter (Class)InterpreterTemplate Method객체Abstract FactoryBuilderPrototypeSingletonAdapter (Object)Bri..