Java2 [Java] 프로그래머스 - PCCP 기출문제 2번/석유 시추 https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최초 코드 import java.util.*; class Solution { private final int[] dy = {1,0,-1,0}; private final int[] dx = {0,1,0,-1}; private boolean[][] visited; //각 열의 석유 매장량 배열 private int[] reserves; private int maxY; private int maxX;.. 2023. 12. 14. 벡터(Vector) 자료구조 특징 동적으로 요소를 할당할 수 있는 동적 배열(Dynamic Array)이다. 컴파일 시점에 개수를 모른다면 벡터를 써야 한다. 배열은 크기가 고정되어있어 마지막 요소 뒤에 새로운 요소를 추가하고자 할 땐 기존 배열의 크기보다 큰 배열을 생성한 뒤 모든 요소를 복사하고 그 뒤에 새로운 요소를 추가해야 한다. 이 때 \(O(N)\)의 시간복잡도를 갖는다. 하지만 벡터의 경우 평균적으로 \(O(1)\)의 시간복잡도를 갖는다. 이부분은 밑에서 자세히 알아보도록 하자. 시간복잡도 접근(검색) 탐색 삽입(맨 뒤 삽입) 삭제(맨 뒤 삭제) \(O(1)\) \(O(N)\) \(O(N)\)(\(O(1)\)) \(O(N)\)(\(O(1)\)) 벡터의 크기 증가 벡터에 요소를 추가할 때, 현재 크기(size)가.. 2023. 4. 17. 이전 1 다음