📖 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 💡 풀이 방식• 스택필요 자료구조- 이전 노드 위치 기억용 배열 preArr- 다음 노드 위치 기억용 배열 nextArr- 삭제한 위치의 노드 정보 저장용 스택 ⭐ . preArr, nextArr 배열을 사용한다. - 각 인덱스에 해당하는 위치의 이전 노드 위치, 다음 노드 위치를 기억한다. - 맨 마지막 노드의 다음 노드는 -1로 설정해둔다. . 크기 n만큼 'O' 문자열을 만든다. . 각 명령에 맞는 작업을 수행한다.1. 위로 이동하는 경우, 값만큼 현재 위치 k를 위로 이동한다.in..
📖 문제 https://www.acmicpc.net/problem/2493 💡 풀이 방식• 스택필요 자료구조- (탑 번호, 높이) 값을 저장하는 int[]형 스택 탑의 높이를 미리 입력받지 않아도 되고,탑의 높이를 입력 받으면서 이미 입력받은 값들과 비교하며 풀면 된다. - 입력받은 높이가 현재 높이보다 낮은 경우, 해당 탑에는 레이저가 닿을 수 없으므로 제거(pop)한다.- 현재 스택이 비어있다면, 레이저가 닿을 수 있는 탑이 없으므로 0을 출력한다. 💥 유의사항데이터 크기가 크므로, 완전탐색을 썼다가는 시간 초과가 발생한다. 🔺 코드12345678910111213141516171819202122232425262728293031323334353637import java.util.*;i..
📖 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 풀이 방식 • 투 포인터 ▷ 탐색 대상 : 모든 보석 구매하기 위한 최소 구간 필요 자료구조 - 보석 "종류" 저장용 Set - 보석 "구간" 저장용 Set - 저장용 Map 투 포인터 구간 탐색 위한 int형 변수 - left와 right (초기값 : 모두 0) 1. map에 right쪽에 위치한 보석을 넣는다. 2. left에 위치한 보석이 중복이라면, 보석 갯수를 줄이고, 시작 구간을 1 증가한다. 3. 모든 보석을 탐색했으며 (set1.size() == set2.size()), 최단 구간이..
📖 문제 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 💡 풀이 방식 • 스택 스택을 만들어 폭발 문자열과 일치하는 문자열이 생겼을 때 바로바로 빼주는 식으로 push와 pop연산을 진행한다. 1. 문자열 str의 전체 길이를 탐색하며 스택에 문자를 하나씩 저장(push)한다. 2. 스택에 들어간 문자의 길이가 폭발 문자열의 길이보다 길다면, 폭발 문자열이 있는지 탐색한다. (⚠ 탐색 범위 : stack.size() - bomb.length() ~ stack.size()) - 폭발 문자열과 일..