일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 9장
- 냄새와 휴리스틱
- DxTrace
- Spring
- Design Pattern
- 클린코드
- 1043번
- 2156번
- 11286번
- 2166번
- Design Patterns
- 프로그래머스
- 자바의 정석
- programmers
- 가장 긴 증가하는 부분 수열2
- springboot
- 10830번
- 코딩 테스트
- java
- Dxerr.h
- 17장
- 2206번
- 11758번
- 코딩테스트
- 백준
- BOJ
- Adapater Pattern
- 1300번
- java의 정석
- SerialDate 리펙터링
- Today
- Total
목록java (52)
Don't give up!
이 글은 에릭 프리먼의 'Head First Design Patterns'를 읽고 TIL(Today I Learned)로써 정리한 내용을 기록하는 글입니다. 자세한 내용은 책을 통해 확인하실 수 있습니다. 알라딘: Head First Design Patterns (aladin.co.kr) Head First Design Patterns 볼 거리가 많고 재미있으면서도, 머리 속에 쏙쏙 들어오는 방식으로 구성된 Head First 시리즈. 패턴의 근간이 되는 객체지향 디자인 원칙, 중요한 패턴, 디자인 적용 방법, 쓰지 말아야 하는 이유 www.aladin.co.kr 싱글턴 패턴 싱글턴 패턴은 특정 클래스에 대해서 객체 인스턴스가 하나만 만들어질 수 있도록 해주는 패턴입니다. 싱글턴 패턴을 사용하면 전역 변..
이 글은 에릭 프리먼의 'Head First Design Patterns'를 읽고 TIL(Today I Learned)로써 정리한 내용을 기록하는 글입니다. 자세한 내용은 책을 통해 확인하실 수 있습니다. 알라딘: Head First Design Patterns (aladin.co.kr) Head First Design Patterns 볼 거리가 많고 재미있으면서도, 머리 속에 쏙쏙 들어오는 방식으로 구성된 Head First 시리즈. 패턴의 근간이 되는 객체지향 디자인 원칙, 중요한 패턴, 디자인 적용 방법, 쓰지 말아야 하는 이유 www.aladin.co.kr 문제 상황 위 그림과 같이 상속이 적용된 여러 클래스가 있다고 가정하겠습니다. 클래스들을 사용하고자 할 때 new 메소드를 사용하여 구상 클래..
코딩테스트 연습 - 여행경로 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 모든 도시를 방문할 수 있는 여행경로를 구하는 과정에 있어 출발지가 같은 티켓이 존재할 수 있다는 점을 고려하여 그래프 탐색을 진행하고 조건에 맞지 않을 경우 되돌아오는 DFS를 적용하고자 하였습니다. ICN에서부터 시작하여 출발지 문자열이 일치하는 인덱스를 찾고, 해당 티켓을 사용하였을 경우 모든 경로를 탐색할 수..
코딩테스트 연습 - 기둥과 보 설치 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 기둥을 설치하기 위한 조건은 다음과 같습니다. 설치하려는 위치가..
2156번: 포도주 시식 (acmicpc.net) 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 어떻게 생각하고 문제를 풀었는가? 연속해서 3잔을 마실 수 없는 조건 하에서 최대한 마실 수 있는 양을 계산하기 위해 다음의 케이스를 생각하였습니다. 이번에 마시지 않음 이전 잔을 마시지 않았고 이번에 마심 이전 잔을 마셨고 이번에도 마심 이번 잔을 마시지 않는 케이스에서는 이전 잔에서 마신 것이 문제가 되지 않으므로 이전 잔의 3가지 케이스의 결과를 비교하여 최대값을 선택하고, 2 ~ 3번째 케이스에 대해서는 이..
이 글은 로버트 마틴의 '클린 코드'를 읽고 TIL(Today I Learned)로써 공부한 내용을 기록하는 글입니다. 자세한 내용은 책을 통해 확인하실 수 있습니다. 알라딘: Head First Design Patterns (aladin.co.kr) Head First Design Patterns 볼 거리가 많고 재미있으면서도, 머리 속에 쏙쏙 들어오는 방식으로 구성된 Head First 시리즈. 패턴의 근간이 되는 객체지향 디자인 원칙, 중요한 패턴, 디자인 적용 방법, 쓰지 말아야 하는 이유 www.aladin.co.kr 전략 패턴(Strategy Pattern) 전략 패턴은 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 하는 디자인 패턴입니다. 전략 패턴은 변경이 일어나는 코드..
11286번: 절댓값 힙 (acmicpc.net) 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 어떻게 생각하고 문제를 풀었는가? 절대값이 가장 작은 값을 출력하고, 절대 값이 가장 작은 값이 여러 개 있을 경우 가장 작은 값을 출력해야 합니다. 0이 입력으로 주어질 때마다 출력을 수행해야 하므로 각 입력에 대해 절댓값과 실제 값을 미리 저장한 후 두 값의 비교를 통해 우선순위를 결정하는 것이 중요하다고 생각하였습니다. 코드 import java.io.*; import java.util...
1655번: 가운데를 말해요 (acmicpc.net) 1655번: 가운데를 말해요 첫째 줄에는 수빈이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 수빈이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 어떻게 생각하고 문제를 풀었는가? 최대 100,000 크기의 N에 대해 중간 값을 빠르게 구하기 위해서는 단순 탐색보다 빠른 탐색이 필요합니다. 중간 값이 대체될 경우 중간 값보다 작은 값들 중 최대 값과 큰 값들 중 최소 값 중 하나로 대체될 것입니다. 따라서 중간 값, 보다 작은 값들의 집합, 보다 큰 값들의 집합으로 나눔으로써 빠르게 중간 값을 구할 수 있을 것이라고 생각하였습니다. 코드..