분류 전체보기 334

백준_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][..

[디자인 패턴] 10장 장식자 패턴

공부하기 위해서 요약정리해놓은 것입니다.. 정확하고 꼼꼼한 자료는 쉽게 배워 바로 써먹는 디자인 패턴을 확인하시고 코드는 github.com/infohojin/patterns 을 참고해 주세요. 장식자 패턴은 객체에 동적 기능을 추가하기 위해 구조를 개선하는 패턴입니다. 다양한 확장을 위해 객체를 조합합니다. 기능 추가 새로운 기능을 추가하기 위해 클래스를 확장하는 방법은 상속과 구성이 있습니다. 기존 객체를 확장해 새로운 기능을 추가해야 하는 경우가 있습니다. 객체지향에서는 새로운 기능을 추가하기 위해 상속을 사용합니다. 상속은 클래스를 확장하는 대표적인 구현 기법입니다. 하지만 상위 클래스와 하위 클래스 간에 강력한 결합 관계가 생성된다는 것입니다. 이런 강력한 결합은 유연한 확장이 어렵고, 새로운 ..

백준_5567 결혼식(자바) / 구현

시간 & 메모리 제한 문제 입력 & 출력 구현을 이용한 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Back_5567 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLin..

백준_1965 상자넣기(자바) / 최장 증가 수열(LIS)

시간 & 메모리 제한 문제 문제를 읽어 보면 최장 증가 수열을 이용해야 겠다는 생각이 들었습니다. 입력 & 출력 최장 증가 수열을 이용한 문제 풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; //최장 증가 수열을 구하는 문제... LIS public class Back_1965 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedRead..

[디자인패턴] 9장 복합체 패턴

공부하기 위해서 요약정리해놓은 것입니다.. 정확하고 꼼꼼한 자료는 쉽게 배워 바로 써먹는 디자인 패턴을 확인하시고 코드는 github.com/infohojin/patterns 을 참고해 주세요. 복합체 패턴은 객체 간의 계층적 구조화를 통해 객체를 확장하는 패턴입니다. 복합체는 재귀적으로 결합된 계층화된 트리 구조의 객체입니다. 객체를 포함하는 객체 복합 객체는 객체가 또 다른 객체를 포함하는 것을 말합니다. 복합적인 객체 관계를 복합화 또는 집단화라고 합니다.

[디자인 패턴]8장 브리지 패턴

공부하기 위해서 요약정리해놓은 것입니다.. 정확하고 꼼꼼한 자료는 쉽게 배워 바로 써먹는 디자인 패턴을 확인하시고 코드는 github.com/infohojin/patterns 을 참고해 주세요. 브리지 패턴은 객체의 확장성을 향상하기 위한 패턴으로, 객체에서 동작을 처리하는 구현부와 확장을 위한 추상부를 분리합니다. 다른 용어로는 핸들패턴 또는 구현부 패턴이라고도 합니다. 복잡한 코드 세상에 완벽한 프로그램은 없습니다. 따라서 발견하지 못했던 기능을 추가하거나, 새로운 업무를 추가하는 작업이 필요합니다. 이처럼 추가 요청에 의해 기존에 완성된 코드를 변경 작업하는 것을 유지 보수라고 합니다.

백준_9465 스티커(자바) / DP

시간 & 메모리 제한 문제 입력 & 출력 - dp 의 값의 크기를 봤을 때, 100000이고 100씩을 반복한다 하더라도 최대 1,000,000 이므로 int로도 충분히 담을 수 있다. DP를 이용한 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Back_9465 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new Buff..

[디자인 패턴]7장 어댑터 패턴

공부하기 위해서 요약정리해놓은 것입니다.. 정확하고 꼼꼼한 자료는 쉽게 배워 바로 써먹는 디자인 패턴을 확인하시고 코드는 github.com/infohojin/patterns 을 참고해 주세요. 어댑터 패턴은 코드를 재사용하기 위해 구조를 변경하는 패턴입니다. 오래된 코드 & 잘못된 코드 오래된 코드의 경우 우리는 새로운 기능을 만들기 위해 오래된 코드를 참고하거나 기존의 코드를 재사용합니다. 즉 이전 코드를 재사용하면서 새로운 코드를 재창조하는 것입니다. 하지만 모든 코드를 재사용할 수는 없습니다. 기술 발전, 환경 변화, 고객 요구 변경 등으로 인해서 기존의 코드를 재사용할 수 없도록 방해하는 요인이 됩니다. 개발자는 자신의 코드가 향후 재사용되도록 하기 위해 다양한 변화를 예측합니다. 그러나 완벽한..

백준_1890 점프(자바) / DP

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

백준_2502 떡 먹는 호랑이(자바) / 브루드 포스

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