본문 바로가기

Algorithm/Math

(C++) - LeetCode (easy) 1207. Unique Number of Occurrences

반응형

https://leetcode.com/problems/minimum-cost-to-move-chips-to-the-same-position/

 

Minimum Cost to Move Chips to The Same Position - LeetCode

Can you solve this real interview question? Minimum Cost to Move Chips to The Same Position - We have n chips, where the position of the ith chip is position[i]. We need to move all the chips to the same position. In one step, we can change the position of

leetcode.com

규칙을 찾아 해결한 문제였습니다.

📕 풀이방법

📔 풀이과정

홀수 칸은 홀수인 다른 칸으로 이동하는데 비용이 들지 않습니다. 짝수 칸도 마찬가지로 짝수 칸으로 이동하는데 비용이 들지 않습니다. 짝수와 홀수간 이동에만 비용이 들기 때문에 모든 chip이 같은 칸으로 이동하는데 최소비용은 min(홀수칸의 chip개수, 짝수칸의 chip개수)가 됩니다.

 

position의 원소를 순회하며 홀수칸에 chip이 놓여져 있다면 oddChips에, 짝수칸에 chip이 있다면 evenChips에 누적해 수를 세줍니다.

📔 정답 출력 | 반환

min(홀수칸의 chip개수, 짝수칸의 chip개수)를 반환합니다.


📕 Code

📔 C++

class Solution {
public:
    int minCostToMoveChips(vector<int>& position) {
        int oddChips = 0, evenChips = 0;
        for(auto p : position) {
            if(p % 2) oddChips++;
            else evenChips++;
        }
        return min(oddChips, evenChips);
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.