전체 글
📌 Deque 란? Deque(Double Ended Queue)는 양방향 대기열이라 불리는 자료구조양방향으로 열려있는 구조로 Queue와 비슷하지만, Stack과 Queue와 달리 LIFO, FIFO와 같은 순서에 구속되지 않음 Stack 및 Queue를 모두 사용 가능deque는 양쪽으로 데이터를 추가하고 제거할 수 있기 때문에 Stack과 Queue를 모두 사용할 수 있는 것이 장점 !!➡️ 하지만, 양 끝만 데이터 수정이 가능함 📌 Deque 사용법 ⚡️ 선언Deque deque = new LinkedList();Deque deque = new ArrayDeque(); ⚡️ 삽입 add()마지막에 원소를 삽입한다. 용량 초과 시 예외(Exception) 발생addFirst(..
📌 컴퓨터가 이해하는 정보 컴퓨터는 0과 1로 표현된 정보(데이터, 명령어)만 이해한다. ✅ 데이터 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 ✅ 명령어 데이터를 움직이고 컴퓨터를 작동시키는 정보 🐣 ex) 데이터 : 1, 2 명령어 : '더하라' 📌 컴퓨터의 4가지 핵심 부품 ✅ 중앙 처리 장치(CPU, Central Processing Unit) 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 역할 (뇌랑 비슷!) ⭐️ CPU의 내부 구성 요소 산술 논리 연산 장치(ALU, Arithmetic Logic Unit) : 계산기 역할 레지스터(register) 작은 임시 저장 장치 CPU 안에는 여러 개의 레지스터가 존재하고 각기 다른 이름과 역할을 가지고 있음 제어 ..
12891번: DNA 비밀번호 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA” www.acmicpc.net 📌 슬라이딩 윈도우 2개의 포인터로 범위를 지정한 다음 범위를 유지한 채로 이동하며 해결하는 것 📌 접근 방법 슬라이딩 윈도우를 사용해서 범위를 4칸으로 유지한 채 한 칸씩 이동하며 배열의 상태를 업데이트 해준다. 배열을 업데이트 할 때는 앞에 빠지는걸 빼고 뒤에거를 추가시키는 식으로 업데이트! A, C, G, T 의 개수를 담고있는 배열과 비교하면서 판단 🚨 시간 초과 코드 import java.io.IOException; import j..
1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net 📌 투포인터 사용 배열을 정렬한 후 i = 0, j = N-1로 시작하여 합을 구했다. 합이 M과 같다면 카운팅을 해주고, i ++, j--로 더 구한다. 합이 M보다 작다면 i++를 해준다. 합이 M보다 크다면 j--를 해준다. ✅ PASS CODE import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java...