전체 글 334

[디자인 패턴]1장 팩토리 패턴

공부 하기 위해서 요약 정리 해놓은 것입니다.. 정확하고 꼼꼼한 자료는 쉽게 배워 바로 써먹는 디자인 패턴을 확인 하시고 코드는 github.com/infohojin/patterns 을 참고해 주세요. 팩토리 패턴은 생성 패턴 중에서도 가장 기본이 되는 패턴이며 클래스의 객체 생성 처리를 위임합니다. 팩토리 패턴은 객체 생성 시 확장과 수정을 쉽게 하기 위한 설계방법입니다. 클래스와 객체 지향 객체지향 프로그램은 클래스를 선언하는 과정이 필요 객체 지향 프로그래밍 (OOP) 는 개발이 복잡해지고 커진 규모가 커짐에 따라서 객체지향과 디자인 패턴이 인기를 얻게 되었습니다. 객체지향은 클래스를 선언하는 것이 기본입니다.

백준_1194 달이 차오른다, 가자.(자바) / BFS + 비트마스킹

시간 & 메모리 제한 문제 입력 & 출력 BFS & 비트 마스킹을 통한 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Back_1194 { static int N, M; static char[][] map; static point me; static boolean [][][] visited; // x,y 위치에 k 의 상태로 방문 여부 static int[] dx= {-..

백준_7573 고기잡이(자바) / 브루드포스

시간 & 메모리 제한 문제 입력 & 출력 브루트포스를 이용한 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class Back_7573 { //모눈종이 크기, 그물의 길이, 물고기의 수 static int N,l,M,ans; static int[][] map; static ArrayList fishs = new ArrayList(); public static void main(String[] args) throws IOExc..

SWEA_8382 방향 전환(자바)

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com - 이 문제를 간단하게 이야기해보면, 두 좌표가 주어지고, 첫 좌표가 두번째 좌표까지 이동하는데 걸리는 이동횟수를 구하는 문제이다. - 단순히 이동만 하면 좋은데 이동하는 방법은 세로로 한칸 가로로 한칸 을 반복하며 이동을 해야 한다. - 이 문제에 대한 해결은 규칙을 찾아서 점화식을 이용해서 문제를 풀었습니다. package com.Expert; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.String..

백준_11048 이동하기(자바) / DP

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

백준_1245 농장관리(자바) / DFS

시간 & 메모리 제한 문제 입력 & 출력 DFS를 이용한 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Back_1245 { static int col, row,ans; static int[][] map; static boolean[][] visited; static boolean pick; //8방 탐색 static int dx[]= {-1,1,0,0,1,1,-1,-1}; static int dy[]= {0,0,-1,1,1,-1,1,-1}; public stat..

SWEA_5644 무선충전(자바)

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com /* 1) 매시간마다 각 위치에서 * playerA : 가능한 BC리스트 (BC1,BC2) * playerB : 가능한 BC리스트 (BC2,BC3) * * 2) 매시간마다 각 위치에서 * 모든 BC리스트를 가지고 가능한 모든 경우 시도 * "중복 순열" * Player A -> 1 2 * Player B -> 1 2 * */ package com.Expert; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public cla..

SWEA_5656 벽돌깨기(자바)

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com package com.Expert; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; /* 중복 순열을 이용해서 떨어뜨릴 구슬을 선택해 준다. * i번째 구슬 떨어뜨림 * 1. 구슬이 떨어질수 있는 가장 윗행의 벽돌 찾기 * 2. 해당 벽돌을 깨뜨림 (주변 벽돌 연쇄적으로 깨뜨림) * 3. 터지고 난 빈 영역을 처리 * 4. 다음 구슬..

SWEA_4014 활주로 건설(자바)

문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 이 문제의 경우 구현을 하는 문제입니다. 활주로의 경우 가로의 상황과 세로의 상황을 모두 고려해야 하는 문제입니다. 각각의 행과 열에서 가능하면 카운트를 해주면 됩니다. 아래의 코드는 행을 처리하는 함수와 열을 처리하는 함수를 따로 구현해서 해결했습니다. 아래의 코드처럼 해결하지 않고, 배열을 변형해서 하나의 함수로 처리를 해줄수 있습니다. package com.Expert; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; p..

백준_1520 내리막길(자바) / DFS + DP

시간 & 메모리 제한 문제 입력 & 출력 DFS + DP를 이용한 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Back_1520 { static int row,col; static int[][] map; static int[][] dp; static int[] dx = {-1,1,0,0}; static int[] dy = {0,0,-1,1}; public static void main(String[] args) throws IOException { Buffere..

[디자인 패턴] 0장 디자인 패턴

안녕하세요,,, 미스터로즈입니다~ 이번에 집중적으로 올릴 블로그는 디자인 패턴입니다. 아래의 책과 블로그 등등을 통해서 정리를 할 예정입니다. www.yes24.com/Product/Goods/93173296 쉽게 배워 바로 써먹는 디자인 패턴 객체지향 프로그래밍 설계 원칙, 패턴을 알면 개발이 보인다디자인 패턴은 어느 날 갑자기 생겨난 방식이 아니다. 객체지향 개발 과정에서 겪는 다양한 이슈를 종합해보면 서로 비슷한 유형의 www.yes24.com 디자인 패턴은 프로그램을 짜면서 많은 사람들이 겪은 문제점에 대한 해결 방법을 정리해둔 것을 말합니다. 처음으로 소프트웨어 공학에 도입된 부분은 객체지향 개발이라고 합니다. 이런 객체지향은 유지 보수를 보다 쉽게 하기 위해 도입된 개발 방법론이라고 합니다. ..

Design pattern 2021.04.18

백준_15961 회전 초밥(자바) / 슬라이딩 윈도우

시간 & 메모리 제한 문제 입력 & 출력 - 아 왜......... 메모리 초과 바로 아래 코드는 메모리 초과 코드에요... package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Back_15961 { static int N,d,k,c,ans=0; static int[] arr; static int[][] arr2; static boolean[] identify; public static void main(String[] args) t..

백준_14503 로봇 청소기(자바) / 구현 + 재귀

시간 & 메모리 제한 문제 입력 & 출력 예제 구현을 통한 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Back_14503 { static int R,C,x,y,dir; static int [][] map; static boolean [][] visited; static int ans =0; //북 동 남 서 static int[] dx= {-1,0,1,0}; static int[] dy= {0,1,0,-1}; public static void main(Stri..