728x90
반응형
https://github.com/ROUTINE-STUDY/Algorithm
알고리즘 스터디를 진행하고 있습니다. 😊
초보들로 구성되어있으며, 열심히 풀어보고 풀이 방식을 공유하고 피드백을 해주는 스터디입니다.
참여 문의는 댓글 혹은 GitHub 주소를 참고해주세요.
문제 출처 : https://www.acmicpc.net/problem/17952
내 코드(JAVA)
public class Solution {
public static void main(String[] args) throws IOException {
int result = 0;
try(final BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
int N = Integer.parseInt(br.readLine());
Stack<Work> stack = new Stack<>();
for (int i = 0; i < N; i++) {
String[] workInfo = br.readLine().split(" ");
Work work = null;
if(workInfo.length > 1) {
work = new Work(Integer.parseInt(workInfo[1]), Integer.parseInt(workInfo[2]) - 1);
stack.push(work);
} else {
if(!stack.isEmpty()) {
work = stack.peek();
work.execute();
}
}
if(!stack.isEmpty() && work.getMinute() == 0) {
result += work.getScore();
stack.pop();
}
}
System.out.println(result);
}
}
}
class Work {
private int score;
private int minute;
public Work(int score, int minute) {
this.score = score;
this.minute = minute;
}
public int getScore() {
return score;
}
public int getMinute() {
return minute;
}
public void execute() {
this.minute--;
}
}
스터디 피드백 내용
시간복잡도는 O(N)
728x90
반응형
'알고리즘' 카테고리의 다른 글
[백준/JAVA] 2508. 사탕 박사 고창영 (0) | 2022.04.06 |
---|---|
[백준/JAVA] 1100. 하얀칸 (0) | 2022.04.04 |
[백준/JAVA] 9094. 수학적 호기심 (0) | 2022.01.24 |
[백준/JAVA] 1018. 체스판 다시 칠하기 (0) | 2022.01.23 |
[백준/JAVA] 2309. 일곱 난쟁이 (0) | 2022.01.22 |
댓글