1. 문제 1부터 n까지 적힌 카드가 아래에서부터 위로 순서대로 쌓여있다. 이제 다음과 같은 질문이 주어진다. x : 카드 뭉치에서 x번이 적힌 카드를 찾아 맨 아래로 내린다. -x : 카드 뭉치에서 x번이 적힌 카드를 찾아 맨 위로 올린다. 예를 들어 n = 5라고 하자. 카드가 [1,2,3,4,5]로 쌓여있다고 표현할 수 있고 [3,-2,1,-4,-5] 순서대로 질문이 주어진다. 3이 주어지면, [1,2,3,4,5]에서 3을 찾아 맨 아래로 내리면 [3,1,2,4,5] -2가 주어지면 [3,1,4,5,2] 1이 주어지면 [1,3,4,5,2] -4가 주어지면 [1,3,5,2,4] -5가 주어지면 [1,3,2,4,5] 최종 상태는 [1,3,2,4,5]가 된다. n개의 카드가 순서대로 쌓여있는 상태에서 q..
1. 문제 배열이 주어질때, 특정한 수보다 작으면서 가장 가까운 수를 찾고자 한다. 예를 들어 [3,1,2,10,5,6,4]가 주어질때, 10보다 작으면서 가까운 수는 바로 옆에 2와 5가 있다 이 경우 인덱스가 더 작은 2를 출력하고 싶고 1의 경우는 만족하는 원소가 없으므로 -1을 출력한다. 2. 풀이 - 왼쪽에서 더 작은 원소의 위치를 찾기 생각보다 어렵던데..? 그냥 많이 어려운데 적어도 생각나는건 O(N2) 브루트 포스뿐.. 하지만 n이 10만이 넘어가는데 브루트 포스가 통과할리는 없을 것 같고 스택을 이용해서 O(N)에 효율적으로 풀 수 있다고 한다 알고리즘을 보면 의외로 간단하네.. 생각하기가 어렵지 일단 A의 i번째 원소에 대해 왼쪽에서 작으면서 가장 가까운 원소를 찾는다 그래서 ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.