250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 평촌카페
- 코테사이트
- 애플릿코드
- 프로그래머스코딩테스트
- 삼성맛집
- 인덕원고기집
- 개발자취업
- 인덕원고기
- 코딩테스트사이트추천
- 제주놀거리
- 강남역맛집
- 구글릿코드
- 제주볼거리
- 아마존릿코드
- 개발자알고리즘
- 안양고기
- 인덕원역맛집
- 알고리즘해시
- 삼성역맛집
- 인덕원카페
- 릿코드
- 인덕원존맛
- 내돈내산
- 코딩테스트
- 코딩테스트사이트
- 안양맛집
- 알고리즘
- 인덕원맛집
- 프로그래머스
- 제주맛집
Archives
- Today
- Total
민여위-
[Leetcode] Duplicate Zeros (Explore Arrays 101) / 릿코드 활용, 코딩테스트 본문
728x90
반응형
1. 문제설명
Given a fixed-length integer array arr, duplicate each occurrence of zero, shifting the remaining elements to the right.
Note that elements beyond the length of the original array are not written. Do the above modifications to the input array in place and do not return anything.
Example 1:
Input: arr = [1,0,2,3,0,4,5,0] Output: [1,0,0,2,3,0,0,4] Explanation: After calling your function, the input array is modified to: [1,0,0,2,3,0,0,4]
Example 2:
Input: arr = [1,2,3] Output: [1,2,3] Explanation: After calling your function, the input array is modified to: [1,2,3]
Constraints:
- 1 <= arr.length <= 104
- 0 <= arr[i] <= 9
2. 내 풀이
class Solution {
public:
bool checkException(vector<int> _arr) {
// Exception 1
if (_arr.size() < 1 || _arr.size() > 10000) {
return false;
}
// Exception 2
for (int i = 0; i < _arr.size(); i++) {
if (_arr[i] < 0 || _arr[i] > 9) {
return false;
}
}
return true;
}
void arrShifting(vector<int>& _arr, int _index) {
for (int i = _arr.size() - 1; i > _index; i--) {
_arr[i] = _arr[i - 1];
}
}
void duplicateZeros(vector<int>& arr) {
if (checkException(arr)) {
for (int i = 0; i < arr.size(); i++) {
if (0 == arr[i]) {
arrShifting(arr, i);
i++;
}
}
}
}
};
728x90
반응형
'Tech' 카테고리의 다른 글
Comments