728x90
반응형
2022.12.13
코테 문제풀이 22주차 01번 문제
문제
① 연습문제 : 택배상자
② 링크
접근방법
생각해낸 방법은 1가지
① 스택
풀이
① 접근방법 : ①
② 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import java.util.Stack;
class Solution {
/*
* Date: 2022-12-13
* Time: 21:24
*/
public int solution(int[] order) {
return pickUp(order);
}
/*
* 짐고르기
* 1. Stack을 사용해 가장 최근에 쌓은 짐부터 peek
* 2. Stack.peek() 메소드를 사용해서 값을 비교
* 3. 실어야 할 짐이면 쌓은 짐의 갯수 카운트
* 4. 보조 컨테이너 벨트에 올리는 경우 Stack.push()
*/
public int pickUp(int[] order) {
Stack<Integer> stack = new Stack<>();
int index = 0;
for (int i = 0; i < order.length; i++) {
if (i+1 == order[index]) {
index++;
while (stack.size() != 0 && stack.peek() == order[index]) {
index++;
stack.pop();
}
} else {
stack.push(i+1);
}
}
return index;
}
}
|
cs |
결과
주의사항
① 스택의 크기가 0일때의 분기처리
728x90
반응형
'코딩테스트' 카테고리의 다른 글
[코테/JAVA] 연습문제 : 숫자의 표현 (0) | 2022.12.19 |
---|---|
[코테/JAVA] 연습문제 : 다음 큰 숫자 (0) | 2022.12.13 |
[코테/JAVA] 연습문제 : 귤 고르기 (0) | 2022.12.10 |
[코테/JAVA] 연습문제 : 가장 가까운 같은 글자 (0) | 2022.12.10 |
[코테/JAVA] 연습문제 : 점 찍기 (0) | 2022.12.08 |
댓글