3. Longest Substring Without Repeating Characters 문제 설명 문자열 s가 주어질 때 중복 문자가 없는 가장 긴 부분 문자열을 찾으세요. 해결 방법 투 포인터와 중복 문자를 판별하는 HashMap을 이용한다. 문자열 왼쪽에서 시작하는 left와 right 포인터를 만든다. 오른쪽 포인터는 계속해서...
Jewels and Stones
771. Jewels and Stones 문제 설명 보석인 돌의 종류를 나타내는 jewels 문자열이 주어지고, 가지고 있는 돌의 종류를 나타내는 stones가 주어진다. 스톤의 각 문자는 내가 가진 스톤의 종류를 나타낸다. 보유하고 있는 스톤 중 보석이 몇 개인지 알고싶다. 문자는 대소문자를 구분하므로 "a"와 "A"는 다른 문자를 나타낸다. ...
Design HashMap
706. Design HashMap 문제 설명 내장 된 해시 테이블 라이브러리를 사용하지 않고 해시맵을 디자인하세요. MyHashMap class 설계도: MyHashMap() 비어있는 맵 객체 초기화 void put(int key, int value) 해시맵에 (key, value)쌍을 삽입. 맵에 키가 이미 존재하는 경우 해당 va...
Merge K Sorted Lists
23. Merge K Sorted Lists 문제 설명 k 개의 연결 리스트로 이루어진 배열 lists가 주어지며, 각 연결 리스트는 오름차순으로 정렬되어있다. 모든 연결 리스트를 하나의 정렬된 연결 리스트로 병합하고, 반환하라. 해결 방법 해당 풀이는 아주 야매 풀이 방식이다. 제대로 된 풀이를 하려면 힙을 구현하거나, 리스트를 하나로 병합...
Design Circular Deque
641. Design Circular Deque 문제 설명 원형 데크를 구현하는 방법에 대해 설계해보세요. MyCircularDeque(int k) 최대 크기가 k인 데크를 초기화 boolean insertFront() 데크의 첫 번째에 아이템을 삽입한다. 성공이면 true, 아니면 false boolean insertLast() 데...
Design Circular Queue
622. Design Circular Queue 문제 설명 원형 큐의 구현을 디자인하라. 원형 큐는 FIFO 원리에 따라 수행하는 선형 자료구조이며, 마지막이 첫 번째와 연결되어 원형을 이룬다. 이 때문에 “Ring Buffer”라고도 부른다. 원형 큐의 한 가지 이점은 큐의 앞 공간을 활용할 수 있다는 것이다. 보통의 큐는 한 번 가득 찬 후,...
Implement Queue using Stacks
232. Implement Queue using Stacks 문제 설명 두 개의 스택을 이용하여 FIFO 구조의 큐를 구현하라. 구현된 큐는 큐의 기능(push, peek, pop, empty)을 지원해야한다. MyQueue 클래스 구현: void push(int x) 큐의 가장 마지막에 요소 x 삽입 int pop() 큐의 가장 앞 ...
Implement Stack using Queues
225. Implement Stack using Queues 문제 설명 후입선출(LIFO)구조인 stack을 오직 2개의 큐만 활용하여 구현하라. 구현된 스택은 보통의 스택 기능(push, top, pop, empty)을 지원해야한다. MyStack class 구현: void push(int x) 요소 x를 스택의 가장 위에 삽입 in...
Daily Temperatures
739. Daily Temperatures 문제 설명 일일 온도를 나타내는 정수 배열이 주어질 때, 해당 날짜로부터 몇일 뒤에 따뜻해지는지를 나타내는 array[i]를 가진 배열 array를 반환하라. 미래에 따뜻해지는 날이 없다면, answer[i] == 0으로 처리하라. 해결 방법 스택을 활용하여 해결한다. answer배열을 주어진...
Remove Duplicate Letters
316. Remove Duplicate Letters 문제 설명 문자열 s가 주어질 때, 모든 문자가 한 번씩만 나타나도록 중복 문자를 제거하라. 가능한 모든 결과 가운데 사전식 순서에서 가장 빠른 결과를 확인해야한다. 해결 방법 스택과 Map, Set을 적절히 활용하여 해결한다. 스택은 결과를 저장하기 위해서 사용 Map(Count...