-
283. Move Zeroes javaLeetCode_Study_Plan/Algorithm 2022. 12. 20. 23:22
https://leetcode.com/problems/move-zeroes/
# 첫 번째 시도 (실패)
class Solution { public void moveZeroes(int[] nums) { List<Integer> a = new ArrayList<>(); for (int num:nums) { if (num != 0) { a.add(num); } } for (int i = 0; i < nums.length-a.size() + 1; i++) { System.out.println("지나갑니다"); a.add(0); } for (int j = 0; j < nums.length; j++) { nums[j] = a.get(j); } } }
for (;조건식;) 에서 조건식은 계속 계산하고 있는 값이기에 a.add()를 함으로써 a.size()는 변화가 생기고
그에 따라 for 문의 반복횟수도 변함이 생겨버려 계속틀렸다.
이에 따라 a.size()의 크기를 미리 변수에 할당해놓고 그 값을 for의 조건식에 넣어두면 의도한대로 해결할 수 있었다.
class Solution { public void moveZeroes(int[] nums) { List<Integer> a = new ArrayList<>(); for (int num:nums) { if (num != 0) { a.add(num); } } int size = a.size(); for (int i = 0; i < nums.length-size + 1; i++) { a.add(0); } for (int j = 0; j < nums.length; j++) { nums[j] = a.get(j); } } }
과거에는 투 포인터를 사용해서 풀기도 했는데, 이번엔 다르게 풀어보았다는 것에 의의를..!
'LeetCode_Study_Plan > Algorithm' 카테고리의 다른 글
344. Reverse String java (0) 2022.12.20 167. Two Sum II - Input Array Is Sorted java (0) 2022.12.20 🎵 189. Rotate Array java (0) 2022.12.20 977. Squares of a Sorted Array java (0) 2022.12.20 35. Search Insert Position java (0) 2022.12.20