목록분류 전체보기 (181)
초보개발자 긍.응.성
D3 - 8821. 적고 지우기 문제출처: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AW37UDPKCgQDFATy&categoryId=AW37UDPKCgQDFATy&categoryType=CODE 순서대로 숫자를 읽어 쓰여져 있을지를 확인하여 해결한 문제 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; class Solution { static boolean[] isWritten = new boolean[10]; public static void main(String args[]) throws Ex..
상황에 따라 달라지는 부분이 있지만 전체적인 알고리즘의 뼈대가 유지되어야 할 때 사용될 Template Method Pattern에 대해 알아보자. 1. Purpose Identifies the framework of an algorithm, allowing implementing classes to define the actual behavior. 알고리즘의 틀을 알고있으며, 실질적인 행동들을 클래스에서 정의해주려 할때 2. Use When A single abstract implementation of an algorithm is needed. Common behavior among subclasses should be localized to a common class. Parent classes s..
D3 - 8673. 코딩 토너먼트1 문제출처: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AW2Jldrqlo4DFASu&categoryId=AW2Jldrqlo4DFASu&categoryType=CODE 2^N개의 숫자를 N번의 round를 돌며 차이를 더해주어 구현한 문제 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution { public static void main(String\[\] args) throws Exception { BufferedR..
Publish/Subscriber Model이라고도 불리는 Observer Pattern에 대해 알아보자. 1. Purpose Lets one or more objects be notified of state changes in other objects within the system. 어떤 객체의 소식을 하나 이상의 객체에서 변화때 마다 전달받기 위해 2. Use When Loose coupling is needed for communications State changes in one or more objects should trigger behavior in other objects Broadcasting capabilities are required An understanding exists th..
Strategy Pattern은 언제 사용해야하는 패턴일까? 1. Purpose Defines a set of encapsulated algorithms that can be swapped to carry out a specific behavior 행위를 캡슐화하여 동적으로 자유롭게 바꿀수 있게 해준다. 2. Use When The only difference between many related classes is their behavior. Multiple versions or variations of an algorithm are required. The behavior of a class should be defined at runtime. Conditional statements are comp..
1. Hierarcy of Pattern Knowledge Design Principle은 설계단계가 아니다. 지켜야할 원리들을 기술한 것이며 이를 지키는것이 자연스럽게 패턴을 가진 소스를 작성하게 해주므로 OO Principles을 따라 소스를 작성하는 습관을 기르는 것이 좋다. 2. OO Principles Program to interface not implementations - 직접 구현하는것 보다 interface를 이용하라 Favor object composition over class inheritance - 클래스 상속보다는 멤버 변수로 클래스를 가져라 (Composition & Delegation) Encapsulate what varies - 변하는 것들을 묶어내라 Strive for..