일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 알고리즘
- 디자인패턴
- Head First Design Pattern
- 인프런
- 후기
- Oracle
- 람다
- Eclipse
- 독서
- JPA
- 회고
- 우아한테크코스
- spring
- 카카오톡1차
- math
- 매핑
- 인코딩
- 자바
- Java
- Design Pattern
- study
- 오라클
- Singleton
- 프로그래머스
- 독서리뷰
- 이펙티브자바
- 인강리뷰
- javascript
- 공부
- 에러
- Today
- Total
목록Java (59)
Lee's Grow up

관련 내용은 [자바 언어로 배우는 디자인 패턴 입문] 이라는 책의 공부 내용을 개인적으로 정리한 내용입니다. 처음 배우는 부분이기 때문에 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 또한 관련 내용은 Effective Java의 내용도 포함되어 있습니다. 1. Singleton 패턴이란? 생성자가 여러 차례 호출되어도 실제 생성되는 객체는 최초의 1개이고, 그 이후의 생성자는 최초 생성자를 통해 생성한 객체를 리턴하는 방식입니다. 즉, 인스턴스가 1개 밖에 존재하지 않는 것을 보증하는 패턴입니다. 2. Singleton 패턴의 등장 인물 이번 포스팅에서 사용될 요소들의 역할입니다. Singleton의 역할 유일한 인스턴스를 얻기 위한 static메소드를 가지며. 이 메소드는 언제나 동일한 인스턴스를 ..

관련 내용은 [자바 언어로 배우는 디자인 패턴 입문] 이라는 책의 공부 내용을 개인적으로 정리한 내용입니다. 처음 배우는 부분이기 때문에 틀린 부분이 있다면 지적해주시면 감사하겠습니다. 1. Factory Method 패턴이란? 상위 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴이며, 하위 클래스가 어떤 객체를 생성할지 결정하도록 하는 패턴입니다. 또한 부모 클래스 코드에 구체 클래스 이름을 감추기 위한 방법으로도 사용합니다. Factory Method라는 패턴 이름 때문에 객체를 생성하는 메소드라고 오해할 수 있지만, Template Method의 생성 버전이라고 볼 수 있다. 상속을 사용하지만 상위 클래스를 전혀 확장하지 않기 때문에 extends의 관계를 잘못 이용한 것처럼 보여질 수 있다. ..

관련 내용은 [자바 언어로 배우는 디자인 패턴 입문] 이라는 책의 공부 내용을 개인적으로 정리한 내용입니다. 처음 배우는 부분이기 때문에 틀린 부분이 있으면 지적해주시면 감사하겠습니다. 1. Iterator 패턴이란 ? Java 에서는 배열의 요소를 for문의 변수 i를 통해서 배열의 요소에 접근을 합니다. 여기서 사용되는 변수 i의 기능을 추상화해서 일반화한 것을 Iterator pattern이라고 합니다. 즉 무엇인가 많이 모여있는 것들을 순서대로 지정하면서 전체를 검색하는 처리를 실행하기 위한 것입니다. -> 내부 구현을 노출하지 않고 집합의 원소들을 순차적으로 접근할 수 있는 방법을 제공 2. Iterator 패턴의 등장 인물 이번 포스팅에서 사용될 요소들의 역할입니다. Iterator(반복자)의..
문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 numbers return [6, 10, ..
문제 설명 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 차례대로 배정받습니다. 만약 1번↔2번 끼리 겨루는 게임에서 2번이 승리했다면 다음 라운드에서 1번을 부여받고, 3번↔4번에서 겨루는 게임에서 3번이 승리했다면 다음 라운드에서 2번을 부여받게 됩니다. 게임은 최종 한 명이 남을 때까지 진행됩니다. 이때, 처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B번 참가자와 몇 ..
문제 설명 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 이전에 등장했던 단어는 사용할 수 없습니다. 한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. 1번 사람이 자신의 첫 번째 차례에 tank를 말합니다. 2번 사람이 자신의 첫 번째 차례에 ..
문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50,000,000,000,000 이하인 양의 정수입니다. 입출력 예 n return 121 144 3 -1 입출력 예 설명 입출력 예 #1 121은 양의 정수 11의 제곱이므로, (11 + 1) 를 제곱한 144를 리턴합니다. 입출력 예 #2 3은 양의 정수의 제곱이 아니므로, - 1을 리턴합니다. 나의 풀이 class Solution { public long solution(long n) { double answer = Math.sqrt(n); ..
문제 설명 정수를 저장한 배열, arr에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요.단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [ 4, 3, 2, 1 ]인 경우 [ 4, 3, 2 ] 를 리턴하고 . [ 10 ] 이면 [ -1 ]을 리턴 합니다. 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i,j에 대해 i != j 이면 arr[i] != arr[j] 입니다. 입출력 예 arr return [ 4, 3, 2, 1 ] [ 4, 3, 2 ] [ 10 ] [ -1 ] 나의 풀이 class Solution { public int[] solution(int[] arr) { if(arr.length