-
LEETCODE - 1089. Duplicate Zeros릿코드(LEETCODE) 2020. 6. 7. 20:09반응형
https://leetcode.com/problems/duplicate-zeros/
vector int 어레이에 원소의 값이 0 이면 한칸식 0으로 채우주고 shift 하는 문제
1101 -> 1100
12012001 -> 12001200
class Solution { public: void duplicateZeros(vector<int>& arr) { // 임시 vector int 를 만들고 0 이면 한번더 넣어 준다. // 괜히 머리아프게 shift 하지 말자 쉽게 풀리면 쉽게 풀리는 방법으로 풀자 vector<int> tmp; for (int i = 0; i < arr.size(); i++) { int value = arr[i]; tmp.push_back(value); if (value == 0) { tmp.push_back(value); } } for (int i = 0; i < arr.size(); i++) { arr[i] = tmp[i]; } } };
회고
처음에 이문제 풀때 vector<int> 를 선언 안하고 풀려고 했다.
class Solution { public: void duplicateZeros(vector<int>& arr) { for(int i=0; i<arr.size(); i++) { int value = arr[i]; if(value == 0) { int move_pos = arr.size() - i-1; for(int j=0; j<move_pos; j++) { arr[arr.size()-j-1] = arr[arr.size()-j-2]; } arr[i+1] = 0; i++; } } } };
value 값이 0 인경우에만 한칸식 shift 하려고 했는데 여기서 -_- 삽질을 더 많이 했다.
아아아 오늘은 뭐이렇게 개똥철학처럼 문제가 안풀리나 정신차리고 집에나 가야겠다.
반응형'릿코드(LEETCODE)' 카테고리의 다른 글
LEETCODE - 1415. The k-th Lexicographical String of All Happy Strings of Length n (0) 2020.06.07 LEETCODE - 1461. Check If a String Contains All Binary Codes of Size K (0) 2020.06.07 LEETCODE - 1470. Shuffle the Array (0) 2020.06.07 biweekly Contest 25 (0) 2020.05.05 weekly-contest-187 (0) 2020.05.05