목록알고리즘 (508)
어흥
문제 링크: https://leetcode.com/problems/lru-cache/description/ LRU Cache - LeetCode Can you solve this real interview question? LRU Cache - Design a data structure that follows the constraints of a Least Recently Used (LRU) cache [https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU]. Implement the LRUCache class: * LRUCache(int c leetcode.com 1. 주의할 점 - DoubleLinkedList와 HashMap을 사용 및 구현 할..
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/147354 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 주의할 점 - 행과 열이 0이 아닌 1부터 시작한다 - 한번은 오름차순 정렬, 한번은 내림차순 정렬이다 - 원소들의 합에 대한 mod 연산이 아닌, 각 원소의 mod 연산에 대한 합이다 - 첫 mod 합은 XOR 연산을 수행하지 않는다 2. 구현 - 조건에 따른 정렬을 하는 우선순위 큐를 사용한다 - 해시값에 대해서 XOR 연산을 계속해서 수행한다 #include #includ..
문제 링크: https://leetcode.com/problems/next-permutation/description/ Next Permutation - LeetCode Can you solve this real interview question? Next Permutation - A permutation of an array of integers is an arrangement of its members into a sequence or linear order. * For example, for arr = [1,2,3], the following are all the permutations of arr: [1,2,3], leetcode.com 1. 순열의 순서는 어떻게 정해질까?에 대한 의문을 직접 구..
문제 링크: https://www.acmicpc.net/problem/21276 21276번: 계보 복원가 호석 석호촌에는 N 명의 사람이 살고 있다. 굉장히 활발한 성격인 석호촌 사람들은 옆 집 상도 아버님, 뒷집 하은 할머님 , 강 건너 유리 어머님 등 모두가 한 가족처럼 살아가고 있다. 그러던 어느 날 www.acmicpc.net 1. 주의할 점 - String 형태의 배열을 어떻게 표현할 것인가? - 위상정렬에 대해 알고 있어야 한다 2. 구현 - 사람들에 대한 정보를 People에 담는다 - People을 정렬한 뒤, HashMap에 넣는다 - 하나는 이름을 통해 Index를 알아내는 Map. 그리고 다른 하나는 Index를 통해 이름을 알아내는 revMap. - 관계에 대한 정보는 Li[]에 ..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 1. 주의할 점 - 문제에 적힌 대로만 구현한다 - 빈 문자열 처리를 알맞게 한다 2. 구현 - DFS() 함수에서 다음과 같은 작업을 순차적으로 한다 - 넘겨 받은 파라미터가 빈 문자열이면 그대로 반환한다 - 넘겨 받은 파라미터를 균형잡힌 괄호 문자열 U와 나머지 부분인 V로 나눈다 - isComplete 함수를 통해 U가 올바른 괄호 문자열인지 확..
문제 링크: https://www.acmicpc.net/problem/17299 17299번: 오등큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 1. 주의할 점 - StringBuilder를 사용해서 출력하자(하지 않으면 TLE) - O(N*N)의 시간복잡도를 가지지 않도록 한다 2. 구현 - 각 숫자를 Arr[]에 담으면서, 해당 숫자가 몇 번 등장했는지 Cnt[] 배열에 저장한다 - 오른쪽에 위치하면서 가장 가까운 숫자를 담아야 하므로 Arr[]의 뒤부터 탐색한다 - Stack에는 우 → 좌 로 이동하면서 현재 숫자가 등장한 횟수가 S..
문제 링크: https://www.acmicpc.net/problem/22234 22234번: 가희와 은행 가희는 창구가 하나인 은행을 운영하고 있습니다. 가희의 은행이 영업을 시작했을 때, 대기 줄에는 손님이 N명 있습니다. [그림 1] 카운터 직원과 N명의 손님 x번 손님에 대한 정보는 x번 손님의 www.acmicpc.net 1. 주의할 점 - RR(RoundRobin) 문제다 - 스케줄링 문제의 경우, 각 작업이 일어나는 순서와 정렬 방식에 주의한다 2. 구현 - 대기큐 Q에는 0초에 대기중인 고객들에 대한 정보를 저장한다 - 1초 이후에 들어오는 고객들은 입장 시간에 대한 오름차순으로 정렬되어 있지 않기 때문에 우선순위 큐 PQ를 통해 정렬을 한다 - 현재 시간(curTime)을 0초로 설정하고..
문제 링크: https://www.acmicpc.net/problem/22232 22232번: 가희와 파일 탐색기 첫 번째 줄에 jo_test 폴더에 있는 파일 개수 N과 가희가 설치한 OS에서 인식하는 파일 확장자의 개수 M이 공백으로 구분되어 주어집니다. 2번째 줄부터 N+1번째 줄까지 FILENAME.EXTENSION 형식의 문자열 www.acmicpc.net 1. 주의할 점 - 정렬 순서를 정리한다 - OS에서 인식하는 확장자인지 구분할 수 있는 방법을 생각한다 2. 구현 - List에 파일명들을 저장한다 - HashSet에 OS에서 인식하는 확장자명을 삽입한다 - List에 저장된 파일명들을 불러와서 파일명, 확장자명, OS에서 인식여부를 구하고 우선순위큐에 삽입한다 - 우선순위큐의 정렬 기준은..