diff --git "a/leetcode3/\354\235\264\354\247\204\355\235\254/636. Exclusive Time of Functions.java" "b/leetcode3/\354\235\264\354\247\204\355\235\254/636. Exclusive Time of Functions.java" new file mode 100644 index 00000000..3a80a5eb --- /dev/null +++ "b/leetcode3/\354\235\264\354\247\204\355\235\254/636. Exclusive Time of Functions.java" @@ -0,0 +1,31 @@ +class Solution { + public int[] exclusiveTime(int n, List logs) { + int[] answer = new int[n]; + Deque stack = new ArrayDeque<>(); + + int prevTime = 0; + + for (String log : logs) { + String[] parts = log.split(":"); + + int id = Integer.parseInt(parts[0]); + String type = parts[1]; + int time = Integer.parseInt(parts[2]); + + if (type.equals("start")) { + if (!stack.isEmpty()) { + answer[stack.peek()] += time - prevTime; + } + + stack.push(id); + prevTime = time; + + } else { + answer[stack.pop()] += time - prevTime + 1; + prevTime = time + 1; + } + } + + return answer; + } +} \ No newline at end of file