• 문제 링크
13335번: 트럭
입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트
www.acmicpc.net
• 풀이 과정
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int w = Integer.parseInt(st.nextToken());
int l = Integer.parseInt(st.nextToken());
Queue<Integer> q = new LinkedList<>();
while (w-- > 0)
q.offer(0);
st = new StringTokenizer(br.readLine());
int time = 0, weight = 0, truck = Integer.parseInt(st.nextToken());
while (true) {
time++;
weight -= q.poll();
if (weight + truck <= l) {
weight += truck;
q.offer(truck);
if (--n == 0)
break;
truck = Integer.parseInt(st.nextToken());
} else
q.offer(0);
}
bw.write(String.valueOf(time + q.size()));
bw.flush();
}
}
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 5568 카드 놓기 - Data Structure / Java (0) | 2023.02.08 |
---|---|
[백준] 4358 생태학 - Data Structure / Java (0) | 2023.02.07 |
[백준] 2075 N번째 큰 수 - Data Structure / Java (0) | 2023.02.05 |
[백준] 11478 서로 다른 부분 문자열의 개수 - Data Structure / Java (0) | 2023.02.04 |
[백준] 11652 카드 - Data Structure / Java (0) | 2023.02.03 |
댓글