문제출처 : programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 풀이법: 1) Max Heap, Min Heap을 하나 씩 만든다. 2) Insert 할 때는 Max Heap, Min Heap 두 개에 모두 넣는다. 3) 이 두 힙의 내용물을 일치 시키는게 문제의 핵심이다. 해시맵 visited를 만들어서 'D' 명령어를 만날 때 처음 push 하는 값이 나올때 까지 각 max, min 힙에서 push 하게 한다. 구분 하는 법은 처음 입력의 index로 고유식별자(?) 를 붙여서 큐에 insert 하면 된다. 해쉬맵에선 이 index를 저장하고. Comment: 1) 풀이법을 쉽게 생각해낼 수 있었다...
programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 풀이법: 1) 우선순위 큐를 사용해서 제일 작은 값을 K와 비교할 수 있게 한다. 2) 스코빌 지수 공식에 따라 계산한다. Comment: 1) 예외처리하는게 좀 귀찮았다. 큐의 크기가 사이즈가 1 이하가 될때 peek() 또는 poll() 함수에서 런타임 에러 나는 부분을 확인 하는 등 짜잘한 예외상황을 생각해내는게 은근히 힘들다. 2) 실제 코테 상황에서 ..
https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린�� programmers.co.kr 풀이법: 1) 우선순위 큐를 사용해서 가장 중요도가 높은 문서를 항상 알 수 있도록 한다. 2) 대기목록의 문서들을 순차적으로 확인하면서 중요도 비교하고 일치할 경우엔 pop하고 1씩 더한다. 3) 찾는 location이 일치하면 바로 답을 반환한다. Comment: 1) 문제 좀 잘 읽자.. 2) ArrayList vs 배열에서 성능 차이는 얼마만큼 날까? 코..
https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 �� programmers.co.kr 풀이법: 1) (100 - progresses) ÷ speeds 를 계산한 days 라는 배열을 만든다. 2) 이 배열을 순차적으로 탐색하면서 누적된 일수를 계산한다. (주식가격 문제랑 거의 똑같은 느낌.. 주식가격 문제: https://argonautsfleece.tistory.com/13) Comment: 1) 이건 스택/큐 문제라기 보다 배열 ..
https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 풀이법: 그냥 기본 배열 문제 Comment: 1) 어떤 조건이 더 많은 상황을 cover하는지 잘 생각해보자. 2) 처음엔 if(prices[i] prices[j]가 되는 순간 나머지 배열을 볼 필요가 없다. 3) 이게 왜 스택/큐? class Solution { public int[] solution(int[] pri..
https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 �� programmers.co.kr 풀이법: 두 가지 리스트를 만들어서 푼다: 1) HashMap 2) PriorityQueue 1)은 만들고 플레이 횟수에 따라 내림차 순으로 정렬한다. 2)는 장르의 개수만큼 만든다. 는 개념적으로 설명을 위해 표기한 것이고 구현할 때는 no, count를 변수로 가진 클래스를 새롭게 정의함(El) 그리고 Comparable 인터페이스를 implement..
https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 풀이법: 주어진 입력을 java 해시맵으로 형태로 저장한다. 그 후 조합의 개수를 찾아서 반환한다. Comment: 1) 예를 들어 하의 종류 중 청바지인지 검은 슬랙스인지 그 구체적인 내용은 아무 상관이 없다. 2) 이 문제는 사실 조합의 개수를 찾는 방법이 제일 어려운 부분이다. 공식화 한다면 대충 다음과 같다. 3종류의 의상이 주어진다 하면: 총 경우의 수 = (종류1 개수 + 1) X (종류2 개수 + 1) X (종류3 개수 + 1) - 1 +1의 의미: 예를들어 종류1의 의상이 총 4가지가 있을 경우에 그 중 1가지를 선택하는 경우의 수는..
class Solution { public boolean solution(String[] phone_book) { for(int i = 0; i < phone_book.length; i++){ for(int j = 0; j < phone_book.length; j++){ if(i != j && phone_book[j].startsWith(phone_book[i])){ return false; } } } return true; } } 해시를 사용하면서 얻는 이점을 전혀 모르겠다.
- Total
- Today
- Yesterday
- 카카오코테
- 프로그래밍 모델
- 디자인패턴
- 신규 아이디 추천
- WORA
- decorator
- Java #JIT #JVM
- KAKAO 2021
- Kakao Blind
- 카카오 인턴
- WORE
- PatternSyntaxException
- 스프링
- 2019 Kakao Blind
- Java
- 2020 KAKAO
- okhttp3
- 카카오
- 모던 자바 인 액션
- 카카오 코테
- IOC
- 스프링 컨테이너
- Java #GC #가비지콜렉터 #Garbage Collector
- nginx 내부
- behavior parameterization
- 코테
- 2021
- digital tree
- trie 소스코드
- jvm
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |