전체 글 (98) 썸네일형 리스트형 Deque(C++) Deque Deque는 데이터를 담는 자료구조로, Stack, Queue와 다르게 데이터를 양방향으로 저장하는 자료구조이다. Deque는 데이터를 가장 앞(front)에 저장할 수 있고, 데이터를 가장 뒤(back)에 저장할 수 있다. Stack과 Queue를 합쳐 놓았다고 생각하면 쉽다. Queue는 다음과 같은 연산을 가진다. 1. pushFront() - 맨 앞(Front)에 데이터를 넣는다. 2. pushBack() - 맨 뒤(back)에 데이터를 넣는다. 3. popFront() - 맨 앞(Front)에서 데이터를 pop 한다. 4. popBack() - 맨 뒤(Back)에서 데이터를 pop 한다. 5. peekFront() - 맨 앞(Front)의 데이터를 확인한다. 6. peekBack() .. 2230번: 수 고르기(Java) 투 포인터를 사용해 해결할 수 있다. 우선, 필요한 변수들을 선언한다. int N, M; Scanner scanner = new Scanner(System.in); N = scanner.nextInt(); M = scanner.nextInt(); int[] arr = new int[N]; int p1 = 0; int p2 = 0; int result = 2000000000; |A[i]|의 범위가 0~1000000000 이므로, 두 수의 차이는 최대 2000000000까지 될 수 있다. 따라서 result를 우선 2000000000로 설정했다. arr에 데이터를 넣어 주고, 투 포인터를 사용해야 하기 때문에 arr를 정렬해준다. Arrays.setAll(arr, i -> scanner.nextInt());.. Queue(C언어) Queue Queue는 데이터를 담는 자료구조로, Stack과 다르게 데이터를 순서대로 저장하는 자료구조이다. Queue는 가장 먼저 저장한 데이터를 가장 앞(front)에 저장하고, 가장 나중에 받은 데이터를 가장 뒤(rear)에 저장하는 FIFO(First In First Out) 구조이다. Queue는 다음과 같은 연산을 가진다. 1. enqueue() - Queue에 데이터를 넣는다 2. dequeue() - Queue의 front에 있는 데이터를 제거, 반환한다 3. peek() - Queue의 front에 있는 데이터를 제거하지 않고 반환한다 4. isEmpty() - Queue가 비어있는지 여부를 반환한다 5. size() - Queue의 크기를 반환한다 상황에 따라 추가적인 연산을 구현할 .. 2022 KAKAO BLIND RECRUITMENT - 신고 결과 받기(Java) Hash를 사용하는 문제였다. LinkedHashMap, HashSet을 사용해 풀었다. int[] answer = {}; answer = new int[id_list.length]; HashMap reportLog = new HashMap(); Arrays.stream(id_list).forEach(id -> reportLog.put(id, new HashSet())); 우선, answer를 초기화하고, 신고 기록을 담을 HashMap을 만들었다. reportLog는 key로 id를 가지고, value로 해당 id를 신고한 id들을 가진다. value를 HashSet으로 한 이유는, 중복 신고가 없기 때문이다. Arrays.stream(report).forEach(log -> { reportLog.ge.. Stack(C언어) Stack Stack은 데이터를 담는 자료구조로, 데이터를 역순으로 저장할 수 있는 자료구조이다. Stack은 나중에 받은 데이터를 제일 처음(Top)에 저장하고, 마지막으로 받은 데이터부터 반환하는 Last In First Out(LIFO) 구조이다. Stack은 다음과 같은 기본적인 연산을 가진다. 1. push() - Stack에 데이터를 넣는다 2. pop() - Stack의 Top에 있는 데이터를 제거, 반환한다 3. peek() - Stack의 Top에 있는 데이터를 제거하지 않고 반환한다 4. isEmpty() - Stack이 비어있는지 여부를 반환한다 5. size() - Stack의 크기를 반환한다 상황에 따라 추가적인 연산을 구현할 수 있다. 그림을 통해 Stack을 이해해 보자. 비어.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 20 다음