일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BOJ
- 백준
- 17장
- Design Patterns
- 2166번
- 프로그래머스
- 코딩 테스트
- 10830번
- 냄새와 휴리스틱
- Adapater Pattern
- java
- 1300번
- SerialDate 리펙터링
- 2156번
- java의 정석
- 11286번
- Design Pattern
- 9장
- 2206번
- 코딩테스트
- Spring
- 가장 긴 증가하는 부분 수열2
- 자바의 정석
- programmers
- DxTrace
- 11758번
- 클린코드
- 1043번
- springboot
- Dxerr.h
- Today
- Total
목록java (52)
Don't give up!
코딩테스트 연습 - 단어 변환 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 최단 변환의 수를 구해야 하는 문제이므로 BFS를 통해 문제를 해결하고자 하였습니다. 코드 import java.util.*; class Solution { public int solution(String begin, String target, String[] words) { boolean[] visite..
코딩테스트 연습 - 가장 먼 노드 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? Queue를 사용한 BFS를 통해 1번 노드로부터 각 노드로의 최단 경로를 찾을 수 있습니다. 모든 노드까지의 최단 경로를 찾은 후 각 거리의 길이를 계산함으로서 최대 값을 갖고 있는 원소의 수를 알아낼 수 있겠다고 생각하였습니다. 코드 import java.util.*; class Solution { private boolean[][] lines; private int[] dists; public int solu..
코딩테스트 연습 - 카펫 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 테두리 1줄이 갈색으로 칠해져 있으므로 갈색 타일의 수는 (가로줄+세로줄)x2-4로서 확인할 수 있습니다. 또한 전체 타일은 가로줄 x 세로줄이며 갈색 타일과 노란색 타일의 합으로 이루어져 있으므로 두 식을 이용하여 가로줄과 세로줄의 조합이 올바른 조합인지 판단할 수 있습니다. 코드 class Solution { public int[] solutio..
코딩테스트 연습 - 쿼드압축 후 개수 세기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 쿼드압축 후 개수 세기 [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15] programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 압축한 영역이 모두 같은 숫자를 가지고 있는지 확인하기 위해서는 내부의 영역이 나타내는 숫자를 확인하여야 합니다. 가장 작은 영역단위(1x1크기)부..
코딩테스트 연습 - [1차] 뉴스 클러스터링 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 교집합과 합집합을 형성하기 위해서는 집합간의 공통되는 원소를 찾을 수 있어야 합니다. contains함수 등 탐색을 지원하는 ArrayList 자료구조를 통해 집합을 구현하고자 하였습니다. 합집합은 A + B - (A n B)로 나타낼 수 있으므로 두 집합을 합한 후 교집합을 제거함으로서 문제를 해결할 수 있을 ..
코딩테스트 연습 - 괄호 회전하기 | 프로그래머스 (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개의 직선 행렬로 나누어 원소를 한 칸씩 이동시키는 것으로 바꾸어 생각하였습니다. 원소의 이동은 이동할 위치의 원소 값을 따로 저장하고, 해당 위치에 이전 인덱스의 원소를 복사하는 과정을 반복하여 구현할 수 있습니다. 문제에서 주어진 시계방향을 그대로 사용한다면 반복문마다..