들어가며 자료구조란 데이터를 구성하고 저장하는 방식을 의미합니다. 이를 이용하면 프로그램이 데이터를 빠르게 검색하거나, 정렬하거나, 수정하거나, 추가하는 등의 작업을 수행할 수 있습니다. 예를 들어, 리스트는 데이터를 순서대로 저장하고 검색하는 데 유용하며, 트리는 계층적인 데이터를 저장하고 탐색하는 데 효과적입니다. 자료구조를 알고 있으면 데이터를 더 빠르고 효율적으로 처리할 수 있으며, 더 나은 알고리즘을 개발할 수 있습니다. 이는 메모리 사용을 최적화하며, 더 좋은 성능을 제공하는 프로그램을 만들 수 있도록 도와줍니다. 오늘은 가장 기본적인 자료구조인 스택과 큐에 대해 Javascript로 구현해 보며 자세히 알아보려 합니다. 스택, Stack 스택은 한 방향으로 데이터를 넣고 뺄 수 있는 자료구조..
괄호 회전하기 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. [], {}, ()는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, [ A ], { A }, ( A )도 올바른 괄호 문자열입니다. 예를 들어, []가 올바른 괄호 문자열이므로. ([])도 올바른 괄호 문자열입니다. 만약 A, B가 올바른 괄호 문자열이라면, AB도 올바른 괄호 문자열입니다. 예를 들어, {}와 ([])가 올바른 괄호 문자열이므로, {}([])도 올바른 괄호 문자열입니다..
다리를 지나는 트럭 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [ 7, 4, 5, 6 ] kg인 트럭이 순서대..
프린터 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서 ( J )를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지..