전체 글

큐(Queue)란?큐(Queue)란 먼저 들어간 데이터가 먼저 나오는 자료구조이다. 이러한 특징을 선입선출 또는 FIFO(FirstInFirstOut)이라고 한다. 큐에 데이터를 삽입하는 것을 Enqueue(add)라고 하고 큐로부터 데이터를 꺼내는 것을 Dequeue(poll)라고 한다. 큐의 ADT메서드설명boolean isFull()큐에 들어가 있는 데이터 개수가 maxsize인지 확인해 boolean 값을 반환한다.boolean isEmpty()큐에 데이터가 없는지 확인해 boolean 값을 반환한다.void add(ItemType item)큐의 데이터를 삽입한다(Enqueue)ItemType poll()큐의 데이터를 꺼내고 그 데이터를 반환한다(Dequeue) 변수설명int front큐에서 가장..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정사악한 입력크기를 보니 효율성을 엄청 따져야 할 것 같은 문제라는 생각이 들었다. 게다가 이문제는 레벨3문제...일단 저 표의 상태를 어떻게 저장할지를 고민했다. 그래도 일단 쉽게 생각했다.N 크기의 배열을 만들어 데이터가 있으면 True, 없으면 False데이터가 삭제되면 True --> False데이터가 복구되면 False --> True삭제된 데이터를 저장할 저장소는 복구시 가장 최근의 삭제된 데이터를 불어와야 하므로  스택모든 명령어를 다 끝낸 뒤 그 배열을 보고 True이면 O, ..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정문제 분석board는 N X N의 크기이고 크레인은 1~N 사이 중 한 곳에서 인형을 뽑아 바구니에 쌓는다.1 - 5 - 3 - 5 순으로 인형을 뽑는다고 한다면 다음과 같이 바구니에 들어가게 되는데 이 경우 인형1이 연속 두 번 나오므로 이 인형 두개는 동시에 사라진다.문제 해결나는 인형을 바구니에 차곡차곡 쌓고 같은 인형이 두 번 나오면 그 인형을 바구니에서 꺼낸다는 특징을 보고 스택을 떠올렸다.인형을 뽑고 바구니가 비어있거나  바구니 맨 위에 인형이 뽑은 인형과 같지 않다면 스택에 넣..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정이 문제는 언뜻보면 쉬워보이는 문제이다. 하지만 이 문제의 핵심은 최대 입력 크기가 10만이라는 점이다. 즉, O(N^2)으로는 풀 수 없다는 뜻이다. O(N^2)으로 풀이 시 그냥 이중 for문을 사용하면 쉽게 구현할 수 있지만 이 문제는 O(N)으로 풀어야 한다.그렇다면 어떻게 O(N)으로 구현할 수 있을까?일단 이 문제를 확실하게 이해하고 갈 필요가 있다.우선 결과 배열의 각 인덱스 값이 어떻게 결정되는지를 파악해야 한다. 이 문제의 핵심은 중간에 가격하락이 발생하는 경우이다. 위 예..
jaehee1113
나의 개발 발자취