Factory Pattern (Creational Pattern) Factory Pattern 이란? 팩토리 패턴은 객체를 생성에대한 인터페이스를 정의하는 패턴이다 복잡한 객체 생성에 대해서 클라이언트가 관여하지 않도록 한다. 팩토리 패턴은 객체를 생성하는 방법을 캡슐화하여, 객체 생성의 변화에 대응하기 쉽도록 한다. Factory Pattern의 작동방식 클라이언트가 팩토리에게 A라는 객체 생성을 요청 -> 팩토리는 A라는 객체를 생성하여 클라이언트에게 반환 클라이언트가 팩토리에게 B라는 객체 생성을 요청 -> 팩토리는 B라는 객체를 생성하여 클라이언트에게 반환 Factory Pattern의 구성요소 Creator: 객체를 생성하는 인터페이스나 추상 클래스를 정의합니다. 이 클래스는 객체 생성에 필요한..
분류 전체보기
Design Pattern 의 SOLID 원칙 Single Responsibility Principle about Single Responsibility Principle (단일 책임 원칙) : 모든 클래스는 하나의 책임만을 가져야한다. 클래스를 구현 할 때, 한 가지 기능에만 중점을 두고 구현해야한다. Why? : 만약 어떤 클래스가 다중 기능을 소유한다면, 수정하는데 어려움이 있을 수있다. 따라서, 특정 기능을 수정할 때 , 관련 클래스외에 건들필요강 없도록 설계해야함 단일 책임 원칙을 따르지 않았을 때, 수정이 어려워지고, 코드의 재사용성이 떨어진다. 코드의 재사용성을 높이기 위해서는, 단일 책임 원칙을 따르며, 다형성 을 이용해야한다. 다형성 : 하나의 인터페이스를 구현하는 여러 클래스들이 있을 ..
2차원 그래프 관련 https://www.geogebra.org/classic 지오지브라 클래식 - GeoGebra www.geogebra.org 행렬 계산기 https://matrixcalc.org/ko/ 행렬 계산기 이 계산기의 도움으로 행렬 행렬식, 계수, 행렬의 거듭 제곱, 행렬의 합과 곱셈을 구하고 역행렬을 계산할 수 있습니다. 행렬 요소를 입력하고 버튼을 클릭하십시오. matrixcalc.org 공학용 계산기 https://www.desmos.com/scientific?lang=ko Desmos | 공학용 계산기 www.desmos.com 코드 분석,해석 관련(디버깅 GUI) https://pythontutor.com/ Python Tutor: Learn Python, JavaScript, C..

문제 설명알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오.길이가 짧은 것부터길이가 같으면 사전 순으로입력첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.출력조건에 따라 정렬하여 단어들을 출력한다. 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다.문제분석과정제일 처음으로 정수 n을 입력받는다. arr 는 n개의 문자열을 저장할 수 있는 리스트이다.arr = [None]*n for i in range(n): arr[i] = input() # ↓ arr = [input() for _ in..

문제 설명 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. 입력 첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각각 N개의 자료(0혹은 1)가 입력된다. 출력 첫 번째 줄에는 총 단지수를 출력하시오. 그리고..

문제 설명 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2번째 바구니, ..., 가장 오른쪽 바구니를 N번째 바구니라고 부른다. 도현이는 앞으로 M번 바구니의 순서를 회전시키려고 만들려고 한다. 도현이는 바구니의 순서를 회전시킬 때, 순서를 회전시킬 범위를 정하고, 그 범위 안에서 기준이 될 바구니를 선택한다. 도현이가 선택한 바구니의 범위가 begin, end이고, 기준이 되는 바구니를 mid라고 했을 때, begin, begin+1, ..., mid-1, mid, mid+1, ..., end-1, end 순서로 되어있는 바구니의 순서를 mid, mid+1,..