일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Design Pattern
- DxTrace
- SerialDate 리펙터링
- java
- 2156번
- 11286번
- 가장 긴 증가하는 부분 수열2
- 11758번
- Spring
- 9장
- 냄새와 휴리스틱
- 10830번
- Dxerr.h
- 1043번
- springboot
- 코딩테스트
- 코딩 테스트
- 클린코드
- 프로그래머스
- Design Patterns
- 17장
- java의 정석
- 자바의 정석
- BOJ
- 2206번
- Adapater Pattern
- 2166번
- 백준
- 1300번
- programmers
- Today
- Total
목록분류 전체보기 (80)
Don't give up!
코딩테스트 연습 - 디스크 컨트롤러 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 주어진 작업들 중 소요시간이 짧은 작업을 먼저 수행하는 그리디 알고리즘으로 문제를 해결할 수 있을 것이라고 생각하였습니다. 작업의 수행은 LIFO의 자료구조인 Queue를 사용하고자 하였고, 작업 수행시간에 따른 정렬을 수행할 수 있는 PriorityQueue를 이용하는 것이 좋다는 생각을 하였습니다. 코드 import java.util..
코딩테스트 연습 - 다단계 칫솔 판매 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 다단계 피라미드 구조를 LinkedList의 구현을 통해 만들고, 부모 노드로 이익의 10%를 전달하는 클래스 함수를 만듦으로서 문제를 해결할 수 있습니다. 주어진 입력은 i번째 판매원의 이름과 부모 판매원의 이름 그리고 i번째 판매 데이터에 저장된 판매원 이름과 판매량입니다. 판매원 이름을 Key 값으로 하는 HashMap을 사용하면..
코딩테스트 연습 - 네트워크 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 어떻게 생각하고 문제를 풀었는가? 연결된 네트워크의 수를 구하기 위해 DFS를 사용하였습니다. 0번 컴퓨터부터 네트워크에 연결되있지 않다면 새로운 네트워크에 추가하고, 연결 가능한 컴퓨터를 순회하면서 네트워크의 연결을 수행함으로서 네트워크의 수를 구할 수 있겠다고 생각하였습니다. 코드 import java.util.*; class Solution { public int solu..
코딩테스트 연습 - 단어 변환 | 프로그래머스 (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)로 나타낼 수 있으므로 두 집합을 합한 후 교집합을 제거함으로서 문제를 해결할 수 있을 ..