leetcode 517 - Super Washing Machines
문제
leetcode 517 - Super Washing Machines 풀러가기
문제 코드(C++)
-
전체 코드
12345678910111213141516171819202122232425262728class Solution {public:int findMinMoves(vector<int>& machines) {int s = machines.size();if(s==1){return 0;}int sum = accumulate(machines.begin(), machines.end(), 0);if(sum%s != 0){return -1;}int avg = sum/s;int tmp = 0;int ans = 0;for(int i=0;i<s;i++){tmp += machines[i]-avg;ans = max(max(abs(tmp), machines[i]-avg), ans);}return ans;}};cs - 11~15번째 줄 : 총 세탁물의 양을 구한 뒤, 모든 세탁기에 나눠떨어지지 않으면 -1을 return 한다.
- 21~24번째 줄 : 모든 세탁기를 순회하면서, 현재 세탁기의 세탁물의 양에서 평균 세탁 양을 빼고, 그 값을 tmp에 더한다.
- 이때, 현재 세탁물의 양이 평균 세탁물의 양 보다 작으면 -가 되므로 tmp값이 줄어든다.
- tmp의 절대값과 현재 세탁물의 양에서 평균을 뺀 값과, 지금까지의 정답을 비교하여 그 중 최대 값을 구한다.
Runtime: 16 ms, faster than 88.02% of C++ online submissions for Super Washing Machines.
Memory Usage: 13.4 MB, less than 20.31% of C++ online submissions for Super Washing Machines.
아직 배움의 과정에 있는 학생이니 내용에 부족한 점이 보이면 지적은 하되, 비난은 하지 말아주세요!!
댓글남기기