profile
성장하는 개발자
태그 목록
전체보기 (55)코딩테스트(29)백준알고리즘(26)Java(18)알고리즘테스트(16)디자인패턴(11)백준 알고리즘(6)알고리즘(3)생성패턴(3)자료구조(3)Design Pattern(3)구조패턴(2)별 찍기(2)DesignPattern(2)스프링(2)전략패턴(2)Spring(2)자바(2)디자인패턴 자바(2)단어수학 자바(2)행위패턴(2)디자인 패턴(2)후위표기식2 자바(1)별찍기 5(1)CompositePattern(1)11656번(1)5598번 자바(1)싱글톤패턴 자바(1)2576번 자바(1)백준 후위표기식2 JAVA(1)후위표기식2(1)1874자바(1)백준 접미사 배열(1)합분해 자바(1)소수 구하기 자바(1)별찍기(1)1158번 자바(1)17087번 숨바꼭질 6 백준(1)탐색 알고리즘(1)1406번 JAVA(1)소수구하기 백준알고리즘(1)proxy pattern(1)2004번 자바(1)ObserverPattern(1)디자인패턴 프록시패턴(1)백준 10799번(1)2442번 별찍기(1)타일채우기 자바(1)queue(1)최솟값 구하기(1)17299번 JAVA(1)팩토리 메서드 패턴(1)구현문제(1)요세푸스문제 자바(1)어댑터패턴(1)쇠막대기 JAVA(1)컴퍼지트패턴(1)백준 2133번 자바(1)단어뒤집기2 JAVA(1)백준 2443 자바(1)오등큰수 자바(1)백준 후위표기식2 자바(1)자바 2225번(1)접미사 배열 자바(1)소수 구하기 JAVA(1)1158 JAVA(1)백준1874(1)접미사 배열 JAVA(1)카이사르 암호(1)백준 10818번(1)최댓값 구하기(1)단어뒤집기(1)데커레이터 패턴(1)11656번 자바(1)decorator(1)Observer Pattern(1)16948번 자바(1)백준 17298번(1)데커레이터패턴(1)쇠막대기 자바(1)6588 자바(1)조합 0의 개수 백준(1)1935번 자바(1)데스나이트 자바(1)Prototype Pattern(1)17299번 자바(1)17298번 자바(1)뱀과 사다리 게임 백준(1)10799번 자바(1)1918번 자바(1)단어 수학JAVA(1)백준 17413번 JAVA(1)TemplateMethodPattern(1)백준알고리즘 11656번(1)문자열(1)백준9012(1)6588 백준(1)2562번 자바(1)옵저버패턴(1)1918번 후위표기식(1)1339 자바(1)백준1874번(1)별찍기 6(1)10808번 JAVA(1)1918번 JAVA(1)10808번 자바(1)백준 17413번(1)백준 1929번(1)1929번 백준(1)덱 JAVA(1)단어뒤집기2 자바(1)에디터 자바(1)10845번 자바(1)팩토리메서드패턴(1)싱글톤패턴(1)1399번 자바(1)백준 17413번 자바(1)Adapter Pattern(1)2444번 자바(1)백준 타일채우기 JAVA(1)템플릿메서드패턴(1)소수구하기 자바(1)너비우선탐색(1)백준알고리즘 오등큰수(1)Composite Pattern(1)백준 2133번(1)백준 10799번 JAVA(1)백준 2225번(1)오큰수 JAVA(1)백준 타일채우기 자바(1)9012번(1)10828번(1)2133번 JAVA(1)1546번 자바(1)template method pattern(1)백준 1546번(1)9012번 JAVA(1)1406번 자바(1)10818번 자바(1)17087번 백준(1)10866번 자바(1)후위표기식 자바(1)Factory Method Pattern(1)2004번 백준(1)별찍기 7(1)덱 자바(1)최댓값(1)9093번(1)백준 후위표기식 자바(1)프록시패턴(1)1037번 자바(1)그래프 탐색(1)(1)별찍기4(1)스테이트패턴(1)17298번 JAVA(1)decorator pattern(1)11656번 JAVA(1)자바 디자인패턴(1)홀수 자바(1)프로토타입패턴(1)데스나이트 JAVA(1)백준 10808번 자바(1)JAVA 알고리즘(1)컴퍼지트 패턴(1)
post-thumbnail

[디자인패턴] 커맨드패턴(Command Pattern)

커맨드패턴은 객체의 행위(메서드)를 클래스로 만들어 캡슐화하는 패턴이다.어떤 객체(A)에서 다른 객체(B)의 메서드를 실행하려면 객체(B)를 참조하고 있어야 하는 의존성이 발생한다. 이와 같은 상황에서 커맨드패턴을 적용하면 의존성을 제거할 수 있다. 또한 기능이 수정되

약 14시간 전
·
0개의 댓글
post-thumbnail

[JAVA/16928번] 뱀과 사다리 게임

해결방법데스나이트와 유사한 문제로 너비우선탐색을 통해 문제를 해결할 수 있었다. 거의 유사하나, 이번 문제는 뱀이나 사다리를 통해 이동을 할 수 있는 변수가 있다는 점이 다르다.Node타입을 갖는 큐를 선언하였다. 다음으로 큐에 출발지 노드를 생성하고 해당 인덱스를 방

약 15시간 전
·
0개의 댓글
post-thumbnail

[JAVA/16948번] 데스 나이트

해결방법알고리즘 배너를 확인하면 해당 문제는 너비우선탐색 문제인 것을 확인할 수 있다. 데스 나이트가 이동할 수 있는 방법은 총 6가지로 문제에 표기되어 있다. 이 부분을 "어떻게 표시하면 좋을까?" 고민하다, x축만 갖는 배열과 y축만 갖는 배열을 따로 만들어 값을

약 16시간 전
·
0개의 댓글
post-thumbnail

[디자인패턴] 퍼사드패턴(Pacade Pattern)

퍼사드패턴(Facade Pattern)의 목적은 복잡한 서브시스템을 인터페이스로 감싸 간단하게 만드는 것이다.퍼사드패턴은 제 3의 API(Third Party API)와 같은 외부 라이브러리를 추상화하는데 사용된다.위 다이어그램에서 처럼 다양한 서브시스템이 사용되는 시

4일 전
·
0개의 댓글
post-thumbnail

[JAVA/1399번] 단어 수학

실패코드해결방법처음 문제를 보았을 때, 해결하려고 했던 방법은 입력받은 두 단어의 길이를 비교하여 길이가 긴 순으로 정렬을 수행하고 맵 자료구조를 통해 알파벳의 앞에서 부터 차례대로 입력시켜주는 방법으로 진행했다.하지만, 위 방법으로 수행했을 경우 동일한 동일한 자리수

5일 전
·
0개의 댓글
post-thumbnail

[JAVA/14888번] 연산자 끼워넣기

해결방법이번 문제는 N개의 수열로 이루어진 숫자 사이에 N-1개의 연산자를 넣어 최댓값과 최솟값을 구하는 문제이다.브루트포스와 관련된 문제이기 때문에, 숫자와 연산자를 조합하여 만들 수 있는 모든 경우의 수를 탐색하는 것이 이 문제를 해결하는 키 포인트이다.모든 경우의

5일 전
·
0개의 댓글
post-thumbnail

[JAVA/11054번] 가장 긴 바이토닉 부분 수열

해결방법눈으로 수열을 보고 가장 긴 부분수열을 찾는 과정은 쉬었으나, 이를 코드로 구현하는 것은 생각보다 까다로웠다.문제에서 나타난 예제를 통해 나올 수 있는 경우의 수는 총 세가지로 오름차순으로 이루어진 순열, 내림차순으로 이루어진 순열, 특정 값을 기준으로 왼쪽부분

2021년 10월 10일
·
0개의 댓글
post-thumbnail

[디자인패턴] 스테이트패턴(State Pattern)

스테이트 패턴은 객체가 특정 상태에 따라 행위를 달리하는 상황에서 자신이 직접 상태를 체크하여 상태에 따라 행위를 호출하지 않고, 상태를 객체화하여 상태가 행동을 할 수 있도록 위임하는 패턴을 말한다.즉, 객체의 특정 상태를 클래스로 선언하고, 클래스에서는 해당 상태에

2021년 10월 9일
·
0개의 댓글
post-thumbnail

[JAVA/2133번] 타일 채우기

해결방법3xN 크기의 벽을 1x2와 2x1의 타일로만 채울 때, 경우의 수를 구해야 하는 문제이다.DPN = R의 공식을 사용하여 표현해보자면, 3xN의 벽을 1x2, 2x1의 타일로만 채울 때, 채울 수 있는 경우의 수는 R개이다를 의미한다.첫 번째로 N이 홀수일 경

2021년 10월 9일
·
0개의 댓글
post-thumbnail

[디자인패턴] 싱글톤패턴(Singleton Pattern)

싱글톤패턴은 인스턴스가 프로그램 내에서 오직 하나만 생성되는 것을 보장하고, 프로그램 어디에서든 인스턴스에 접글할 수 있도록 하는 패턴이다.즉, 똑같은 인스턴스를 여러개 만드는 것이 아닌, 기존에 생성했던 동일한 인스턴스를 사용하는것을 의미한다.위의 개념을 토대로 싱글

2021년 10월 6일
·
0개의 댓글
post-thumbnail

[JAVA/2225번] 합분해

해결방법N이 0일 경우K=1 => (0)K=2 => (0+0)K=3 => (0+0+0)N이 1일 경우K=1 => (1)K=2 => (0+1), (1+0)k=3 => (1+0+0), (0+1+0), (0+0+1)N이 2일 경우K=1 => (2)K=2 => (1+1), (

2021년 10월 6일
·
0개의 댓글
post-thumbnail

[JAVA/17087번] 숨바꼭질 6

해결방법수빈이의 위치 S와 동생들의 수 N을 입력받는다. 동생들의 수 만큼 동생들의 위치를 입력받아 배열에 넣어준다.위 그림을 참고하면 수빈이(S)를 기준으로 각 동생들의 거리를 뺸다. 만약 뺀 거리가 음수일 경우 -1을 곱하여 양수로 만들어준다. 그 후, 나와 동생들

2021년 10월 5일
·
0개의 댓글
post-thumbnail

[JAVA/2004번] 조합 0의 개수

해결방법1) 계승(팩토리얼, factorial)해설: 1 부터 어떤 양의 정수 n까지를 곱한 것표기법: n!예: 6! = 1 x 2 x 3 x 4 x 5 x 62) 수열(퍼뮤테이션, permutation)해설: n 의 수를 m 까지 n - 1 씩하여 곱한 것표기법: n

2021년 10월 2일
·
0개의 댓글
post-thumbnail

[JAVA/6588번] 골드바흐의 추측

해결방법기존의 소수구하기 문제를 해결했던 방법을 응용하여 문제를 해결하려 노력했다. 결론적으로 50%에서 시간초과가 발생했다. 이를 해결하려 노력했지만 아직 해결하지 못했다.이번 문제의 핵심은 A는 가장 작은 소수여야하고, B는 N보다 작으면서 가장 큰 소수로 구성되어

2021년 10월 2일
·
0개의 댓글
post-thumbnail

[디자인패턴] 프록시패턴(Proxy Pattern)

프록시(Proxy)를 번역하면 대리자, 대변인의 의미를 갖고 있다. 대리자, 대변인은 누군가를 대신해서 그 역할을 수행하는 존재이다. 이는 프로그램에도 똑같이 적용된다. 즉, 프록시에게 어떤 일을 대신 시키는 것이다.어떤 객체를 사용하고자 할때, 객체를 직접적으로 참조

2021년 10월 2일
·
0개의 댓글
post-thumbnail

[디자인패턴] 컴퍼지트패턴(Composite Pattern)

컴퍼지트패턴은 구조 패턴 중 하나로, 객체들의 관계를 트리 구조로 구성하여 부분-전체 계층을 표현하는 패턴이다. 사용자는 컴퍼지트패턴을 통해 단일 객체와 복합 객체 모두 동일하게 다룰 수 있다.전체-부분의 관계를 갖는 객체들 사이의 관계를 정의할 때 유용하다.클라이언트

2021년 9월 29일
·
0개의 댓글
post-thumbnail

[JAVA/1929번] 소수 구하기

소수(Prime Number)소수는 자신보다 작은 두 개의 자연수를 곱하여 만들 수 없는 1보다 큰 자연수이다.예를들어, 3은 3\*1 또는 1\*3으로 곱한 결과를 적는 유일한 방법이 자신을 포함하기 때문에 3은 소수이다.해결방법소수를 판별하기위한 방법 중 가장 기초

2021년 9월 27일
·
0개의 댓글
post-thumbnail

[JAVA/11656번] 접미사 배열

해결방법접미사 배열 문제의 핵심 키 포인트는 substring메서드의 사용이다. 해당 메서드를 사용할 경우, 특정 인덱스를 기준으로 문자열을 자를 수 있다.문제를 해결하기 위해, 특정 인덱스의 기준을 i로 설정하고 문자열의 길이만큼 반복수행하였다. 정렬 메서드를 사용하

2021년 9월 27일
·
0개의 댓글
post-thumbnail

[디자인패턴] 템플릿메서드패턴(Template Method Pattern)

템플릿 메서드 패턴은 여러 클래스에서 공통으로 사용하는 메서드를 상위 클래스에서 정의하고, 하위 클래스마다 다르게 구현해야하는 세부적인 사항을 하위 클래스에서 구현하는 패턴을 말한다.템플릿메서드 방식을 사용하면, 코드의 중복을 제거할 수 있다.(리팩토링)다른 관점에서

2021년 9월 24일
·
2개의 댓글
post-thumbnail

[JAVA/1935번] 후위표기식2

해결방법피연산자의 개수 N을 사용자로부터 입력받는다.피연산자는 A-Z 영대문자이며, A부터 순서대로 N개의 영대문자만 사용한다. 예를들어, N이 5일 경우 A, B, C, D, E의 대응되는 값을 사용자로부터 입력받는다.각 알파벳에 대응되는 값을 설정하기 위해서 Map

2021년 9월 22일
·
0개의 댓글