전체 글 334

정올_1341 구구단2(자바) / 도형만들기1

시간&메모리 제한 문제 입력& 출력 문제풀이 package com.jungol; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class jungol_1341 { public static void main(String[] args) throws IOException { StringBuilder sb = new StringBuilder(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new ..

정올_1291 구구단(자바) / 도형만들기1

시간&메모리 제한 문제 입력 & 출력 문제풀이 package com.jungol; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; //구구단 public class jungol_1291 { public static void main(String[] args) throws IOException { StringBuilder sb = new StringBuilder(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st..

[디자인 패턴] 17장 체인 패턴

공부하기 위해서 요약정리해놓은 것입니다.. 정확하고 꼼꼼한 자료는 쉽게 배워 바로 써먹는 디자인 패턴을 확인하시고 코드는 github.com/infohojin/patterns 을 참고해 주세요. 체인 패턴은 객체 메시지의 송신과 수신을 분리해서 처리합니다. 다음 세가지 내용을 중심으로 살펴봅니다. - 상태값과 처리 방식에 대해 알아봅니다. - 상태값과 복수의 행동 객체를 연결하는 방법에 대해 알아봅니다. - 객체를 연결하는 방법에 대해 알아봅니다. 제어문 프로그램은 순차적 절차에 따라 코드를 실행합니다. 그중 제어문은 상태값을 비교하여 코드의 실행 흐름을 변경합니다. 개발 언어는 코드의 동작을 제어할 수 있는 조건문을 지원합니다. 대표적으로 if문과 switch문이 있습니다.

[디자인 패턴] 16장 방문자 패턴

공부하기 위해서 요약정리해놓은 것입니다.. 정확하고 꼼꼼한 자료는 쉽게 배워 바로 써먹는 디자인 패턴을 확인하시고 코드는 github.com/infohojin/patterns 을 참고해 주세요. 방문자 패턴은 공통된 객체의 데이터 구조와 처리를 분리하는 패턴입니다. 데이터 처리 객체는 데이터와 행위가 있으며 객체의 행위는 데이터를 처리합니다. 객체는 데이터와 함수를 하나의 그룹으로 묶어 처리하는데, 이러한 객체의 특성을 캡슐화라고 하며 다른 말로는 번들링이라고도 합니다. 캡슐화는 C 언어에서 구조체나 공용체로 데이터만 묶어 처리했습니다. 그러나 구조체와 달리 객체는 함수도 포함합니다. 최근의 캡슐화는 데이터와 행위를 위한 메서드 함수를 하나의 객체로 묶어 처리합니다. 캡슐화는 데이터와 행위를 하나의 객체..

[디자인 패턴] 15장 명령 패턴

공부하기 위해서 요약정리해놓은 것입니다.. 정확하고 꼼꼼한 자료는 쉽게 배워 바로 써먹는 디자인 패턴을 확인하시고 코드는 github.com/infohojin/patterns 을 참고해 주세요. 명령 패턴은 행동의 호출을 캡슐화하여 실행하는 패턴입니다. 명령 명령 패턴은 행동을 객체로 캡슐화하여 전달합니다. 객체지향 프로그래밍에서는 데이터와 행위를 하나의 객체로 묶어 캡슐화합니다. 객체는 동작의 행위와 행위를 실행하는 호출 메서드를 함께 만드는데, 구현하는 방법은 작업의 객체화라고 합니다. 기존에는 동작 명령을 한수나 메서드로 구현했습니다. 하지만 명령 패턴에서는 동작 명령을 하나의 클래스 형태로 표현하며 수행하는 동작을 메서드 형태가 아닌 객체 형태로 별도 생성합니다. 명령 패턴은 내부 동작을 위한 모..

[디자인 패턴] 14장 반복자 패턴

공부하기 위해서 요약정리해놓은 것입니다.. 정확하고 꼼꼼한 자료는 쉽게 배워 바로 써먹는 디자인 패턴을 확인하시고 코드는 github.com/infohojin/patterns 을 참고해 주세요. 반복자 패턴은 내부 구조를 노출하지 않고 집합체를 통해 원소 객체에 순차적으로 접근할 수 있는 방법을 제공합니다. 객체의 집합 집합은 어떤 조건에 의해 모인 요소의 묶음입니다. 객체의 데이터 또는 기능을 집합으로 묶어 처리할 수 있습니다. 배열은 유사한 조건의 데이터를 하나의 집합으로 묶어서 처리합니다. $fruit = ['apple','banana','berry']; 배열의 특징은 하나의 변수명을 사용해 여러 데이터를 저장한다는 것입니다. PHP와 같은 동적 데이터를 저장하는 언어에서는 배열에 문자열뿐만 아니라..

5월 18일 앞으로 계획

최근에 Vue라는 프런트 엔드를 다뤘습니다. 그 전까지는 java jsp & servlet spring springboot의 과정에 대해서 학습을 했었습니다. 그리고 텀 프로젝트로 springboot를 서버로 Vue를 결합해서 공부를 진행하고 있습니다. 이 부분에 대해서 게시글을 올릴 예정입니다. 또한 현재 디자인 패턴에 대해서 글을 올리고 있습니다. 이 부분이 마무리가 되면 SQL 자격검정 sqld 준비를 앞두고 있는데, sqld 시험에 대한 정리를 올릴 예정입니다...

공지사항 2021.05.18

[디자인 패턴] 13장 프록시 패턴

공부하기 위해서 요약정리해놓은 것입니다.. 정확하고 꼼꼼한 자료는 쉽게 배워 바로 써먹는 디자인 패턴을 확인하시고 코드는 github.com/infohojin/patterns 을 참고해 주세요. 프록시 패턴은 객체 접근을 제어하기 위해 중간 단계에 대리자를 위치시키는 패턴입니다. 프록시는 무슨 일을 직접 처리하지 않고 대리자를 내세워 처리를 위임합니다. 프록시의 특징은 하나의 객체를 두 개로 나눠 재구성한다는 것입니다. 분리하는 이유는 직접적인 접근을 막고 대리할 객체를 구현하기 위해서입니다. 범위에 따라 다르게 불리는 파생 프록시들도 많습니다. - 원격 프록시 - 가상 프록시 - 보호 프록시 - 스마트 프록시 이 외에도 방화벽 프록시, 래퍼런스 프록시, 동기화 프록시 등의 다양한 프록시가 있습니다. 객..

백준_1495 기타리스트(자바) / DP

시간 & 메모리 제한 문제 입력 & 출력 DP를 이용한 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Back_1495 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); i..

[디자인 패턴] 12장 플라이웨이트 패턴

공부하기 위해서 요약정리해놓은 것입니다.. 정확하고 꼼꼼한 자료는 쉽게 배워 바로 써먹는 디자인 패턴을 확인하시고 코드는 github.com/infohojin/patterns 을 참고해 주세요. 플라이웨이트 패턴은 객체를 공유하기 위해 구조를 변경하는 패턴입니다. 객체를 공유하면 객체를 재사용할 수 있어 시스템 자원이 절약됩니다. 메모리 자원 $obj = new 클래스 명; 위와 같이 new 키워드를 통해서 객체를 생성합니다. 이때 시스템 자원을 할당받게 됩니다. 이러한 객체는 동작을 수행하는 메서드와 데이터를 포함하는 프로퍼티로 구성돼 있습니다. 클래스를 설계할 때는 객체가 하나의 책임만 갖도록 합니다. 이를 단일 책임 원칙이라고 합니다. 하나의 객체가 다양한 기능과 책임을 가지면 관리하기가 어려워집니..

백준_2210 숫자판 점프(자바) / DFS + 백 트래킹

시간 & 메모리 제한 문제 입력 & 출력 DFS + 백 트래킹을 이용한 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Back_2210 { static int[] dx= {-1,1,0,0}; static int[] dy= {0,0,-1,1}; static int[][] map; static List list = new ArrayList(); public static void..

[디자인패턴] 11장 파사드 패턴

공부하기 위해서 요약정리해놓은 것입니다.. 정확하고 꼼꼼한 자료는 쉽게 배워 바로 써먹는 디자인 패턴을 확인하시고 코드는 github.com/infohojin/patterns 을 참고해 주세요. 퍼사드 패턴은 프로그래밍 언어에서 관심사를 분리하는 패턴입니다. 파사드의 어원은 프랑스어로 건물의 정면이라는 뜻을 갖고 있습니다. 건물의 외관, 겉모습을 말하며 사전적으로 '표면, 허울'로도 해석됩니다. 협업을 위한 분리 작업 파사드는 요즘과 같이 협업과 대형 시스템을 개발하고 배포하는 데 자주 응용되는 패턴입니다. 파사드는 시스템 결합과 사용이 용이하도록 관심사를 분리합니다. 하나의 서비스를 여러 개발자와 공동으로 만드는 과정은 쉽지 않습니다. 분리된 기능별 모듈을 하나로 합치는 과정에서도 수많은 난관에 봉착합..

백준_1309 동물원(자바) / DP

시간 & 메모리 제한 문제 입력 & 출력 DP를 이용한 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Back_1309 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int[][] dp = new int[N + 1][..