Given a char array representing tasks CPU need to do. It contains capital letters A to Z where different letters represent different tasks.Tasks could be done without original order. Each task could be done in one interval. For each interval, CPU could finish one task or just be idle.
However, there is a non-negative cooling interval n that means between two same tasks, there must be at least n intervals that CPU are doing different tasks or just be idle.
You need to return the least number of intervals the CPU will take to finish all the given tasks.
Example:
Input: tasks = ["A","A","A","B","B","B"], n = 2Output: 8Explanation: A -> B -> idle -> A -> B -> idle -> A -> B.알고리즘 문제 풀던중에, 이게 너무 해석이 안되네요..
구글번역기를 써보았지만 무슨말인지 모르겠습니다.
정말 풀어보고 싶습니다. 좋은 주말 되세요 : )
cpu가 할일이 문자배열로 주어진다. 다 영어 대문자고 문자마다 다른일을 의미함. 작업은 처음 주어진것과 관계없는 순서로 진행됨. 각 작업은 하나의 시간간격을 씀, 각 간격당 cpu는 하나의 일을 하거나 쉰다. 근데 거기에 n이라는 양수의 쿨링간격이 필요한데, 같은 작업사이에는 n만큼 다른짓 하거나 쉬어야만 한다. 너는 주어지는 작업열에 대해 최소로
되는 시간간격을 리턴해라
입력 a 3개 b 3개 이러면 두가지 일이 3번씩 진행해서 총 6개의 일이 필요하다는 의미임
처음 주어진것과 관계없는 순서인것은, 인풋은 aaabbb 지만 실제 작업은 ab ab ab 같은 순서로 진행됨
쿨링간격은 같은작업사이에통하는건데, ab다음에 a를 다시하는게아니라 한번 쉬고 a를 하는게, n=2라 두번 쉬어야 되는거임 그래서 b하고 한칸은 들어갈게 없어서 아이들 하고 a를 진행한것
최소가되는건 ab아이들ab아이들ab로 8이고, 마지막은 b에서 아이들 없이 6개의 작업이 끝났으니 8
우리팀원들한테 문제 알려주듯이 한번 얘기해봤음
// 의식의 흐름 감사합니다. 답글 기다리다가 안달리는줄 알았습니다.ㅠ 제가 영어가 미천한지라, 미안하고 감사하네요 ㅎ 좋은 하루 되세요~~