반응형
https://leetcode.com/problems/minimum-cost-to-move-chips-to-the-same-position/
규칙을 찾아 해결한 문제였습니다.
📕 풀이방법
📔 풀이과정
홀수 칸은 홀수인 다른 칸으로 이동하는데 비용이 들지 않습니다. 짝수 칸도 마찬가지로 짝수 칸으로 이동하는데 비용이 들지 않습니다. 짝수와 홀수간 이동에만 비용이 들기 때문에 모든 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);
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Math' 카테고리의 다른 글
(Python3) - 프로그래머스(코딩테스트 입문) : 세균 증식 (0) | 2024.10.29 |
---|---|
(C++) - LeetCode (easy) 1518. Water Bottles (0) | 2024.04.17 |
(C++) - LeetCode (easy) 1037. Valid Boomerang (0) | 2023.10.13 |
(C++) - LeetCode (easy) 1025. Divisor Game (0) | 2023.10.11 |
(C++, Rust) - LeetCode (easy) 914. X of a Kind in a Deck of Cards (0) | 2023.08.30 |