일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- 11758번
- 11286번
- Spring
- Adapater Pattern
- 클린코드
- springboot
- 1043번
- 1300번
- programmers
- 코딩테스트
- java
- Design Patterns
- 프로그래머스
- SerialDate 리펙터링
- 자바의 정석
- 코딩 테스트
- 17장
- Design Pattern
- 가장 긴 증가하는 부분 수열2
- DxTrace
- 2166번
- 냄새와 휴리스틱
- 2206번
- java의 정석
- 2156번
- Dxerr.h
- BOJ
- 10830번
- 9장
- Today
- Total
목록전체 글 (80)
Don't give up!
코딩테스트 연습 - 괄호 회전하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 닫힌 괄호 문자가 열린 괄호 문자보다 먼저 나타나면 문자열은 올바른 괄호 문자열이라고 판단할 수 없으며 괄호 안에 다른 괄호가 들어있는 경우 가장 안쪽의 괄호는 열린괄호와 닫힌 괄호가 같이 존재해야 합니다. 따라서 처음 확인되는 닫힌 괄호는 열린 괄호 바로 다음의 인덱스에 위치하여야 함을 생각하였으며 올바르다고 판단된 열린 괄호와 닫힌 괄호는 검사에서 제외함으로서 외부 괄호가 올바른 괄호 문자열을 형성하고 있는지 판단할 수 있을 것이라고 생각하였습니다. 코드 import java.util.Stack; class Solut..
코딩테스트 연습 - 메뉴 리뉴얼 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 만들 수 있는 코스의 메뉴를 모두 나열하고, 코스의 단품메뉴 조합이 가장 많이 주문된 코스를 결과에 추가함으로서 문제를 해결하고자 하였습니다. HashMap을 사용하여 코스 메뉴와 손님이 주문한 횟수를 연결짓고자 하였고 PriorityQueue를 사용하여 반환 결과의 정렬을 구현하고자 하였습니다. 코드 import java.util.Priority..
코딩테스트 연습 - 행렬 테두리 회전하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 행렬에서 테두리를 회전하는 것을 상/하/좌/우 4개의 직선 행렬로 나누어 원소를 한 칸씩 이동시키는 것으로 바꾸어 생각하였습니다. 원소의 이동은 이동할 위치의 원소 값을 따로 저장하고, 해당 위치에 이전 인덱스의 원소를 복사하는 과정을 반복하여 구현할 수 있습니다. 문제에서 주어진 시계방향을 그대로 사용한다면 반복문마다..
자바의 정석을 읽고 정리한 내용입니다. Java의 정석 - YES24 Java의 정석 최근 7년동안 자바 분야의 베스트 셀러 1위를 지켜온 `자바의 정석`의 최신판. 저자가 카페에서 12년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 쓴 책. 뿐만 아 www.yes24.com 1. 객체지향언어 (1) 코드의 재사용성이 높다. (2) 코드의 관리가 용이하다. (3) 신뢰성이 높은 프로그래밍을 가능하게 한다. (4) 객체지향개념에 얽매여서 고민하기 보다는 일단 프로그램을 기능적으로 완성한 다음 객체지향적으로 코드를 개선할 수 있을지를 고민하여 점차 개선해 나가는 것이 좋다. 2. 클래스와 객체 (1) 클래스란 객체를 정의해 놓은 것. (2) 객체는 클래스에 정의된 내용대로 메모리..
코딩테스트 연습 - 조이스틱 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 좌/우 방향을 결정하는 요소는 '어디서 다음 상/하 버튼을 눌러야하는가?'입니다. 만약 다음 위치까지 좌측버튼을 누르는 횟수가 우측 버튼을 눌러야 하는 횟수보다 작다면 좌측버튼을 눌러 이동하여야 합니다. 이동한 후에도 탐색방향을 결정해야 하는데, 이는 탐색해야할 문자의 수를 통해 결정할 수 있습니다. 전체적으로 누르게 될 상/하 ..
코딩테스트 연습 - 멀쩡한 사각형 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 시작점 (0,0), 도착점 (h,w)인 직선은 (1,w/h), (2,2w/h)인 점을 지나갑니다. 직선의 기울기가 일정하므로 직선이 지나는 사각형의 패턴은 y값이 정수가 정수로만 이루어진 점들 사이의 구간의 패턴으로 볼 수 있습니다. 따라서 (0,0)부터 정수 (x,y)까지의 범위에서 직선이 지나는 사각형의 수 X 패..
코딩테스트 연습 - 게임 맵 최단거리 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 그래프 탐색이므로 DFS 또는 BFS를 사용해야 겠다고 생각이 들었습니다. DFS를 사용할 경우 모든 경로를 탐색한 후 거리들을 비교하여 최소값을 반환하여 해결할 수 있지만 BFS는 먼저 목적지에 도달한 경로가 최단 거리의 경로이므로 더 빠르게 결과를 얻을 수 있다고 생각했습니다. 코드..
코딩테스트 연습 - H-Index | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 오름차순으로 정렬된 배열에서 원소보다 같거나 더 큰 인용횟수를 가진 논문은 더 높은 인덱스를 갖습니다. 만약 [6,6,6]과 같이 조건을 만족하는 인용횟수 최솟값이 (논문의 수 - 원소의 인덱스) 값보다 큰 경우 더 작은 값을 h 값으로 저장해야합니다. 각 원소를 순회하며 원소 값과 원소 값 이상의 인용횟수를 가..