https://www.acmicpc.net/problem/2841
각 기타줄을 stack으로 가정하고 6개를 사용한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws IOException {
int ans = 0;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int F = 6;
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int P = Integer.parseInt(st.nextToken());
Stack<Integer>[] finger = new Stack[F + 1];
for (int i = 1; i <= F; i++) {
finger[i] = new Stack<>();
}
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
int f = Integer.parseInt(st.nextToken());
int p = Integer.parseInt(st.nextToken());
Stack<Integer> fin = finger[f];
while (!fin.isEmpty() && fin.peek() > p) {
fin.pop();
ans++;
}
if (fin.isEmpty() || fin.peek() < p) {
fin.add(p);
ans++;
}
}
System.out.println(ans);
}
}
'[백준] PS > Java [실랜디]' 카테고리의 다른 글
[백준 2607] 비슷한 단어 - JAVA (0) | 2025.05.04 |
---|---|
[백준 2865] 나는 위대한 슈퍼스타K - JAVA (0) | 2025.05.04 |
[백준 3372] 보드 점프 - JAVA (0) | 2025.05.04 |
[백준 2529] 부등호 - JAVA (0) | 2025.05.04 |
[백준 2780] 비밀번호 - JAVA (0) | 2025.05.01 |