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 |
Tags
- jsp
- 코드숨
- rownum
- 미니프로젝트
- hackerrank
- LeetCode
- 뇌정리
- git
- 스터디
- 주간회고
- Real MySQL
- Python
- algorithms
- 서평
- If
- 책리뷰
- 정보처리기사
- 필기
- 알고리즘
- java
- post
- 회고
- 2020년 제4회 정보처리기사 필기 문제 분석
- Til
- Jackson
- 2020년 일정
- 성적프로그램
- 2020년 정보처리기사 4회
- 함수형 코딩
- sqldeveloper
Archives
- Today
- Total
조컴퓨터
26. Remove Duplicates from Sorted Array 본문
배열로 해결함
class Solution {
public int removeDuplicates(int[] nums) {
int idx = 1;
for( int i=1; i<nums.length; i++ ) {
if( nums[i] == nums[idx-1] ) {
continue;
}
nums[idx] = nums[i];
idx++;
}
return idx;
}
}
index 값을 1로 지정하고 해당값을 기준으로 for문을 돌려 nums 값과 비교했다.
value 값이 같으면 for문을 계속 돌아가게 하고,
value 값이 같지 않으면 for문을 멈추고 해당 값을 멈춘 값에 대입한다.
index 값 또한 +1 씩 추가하여 다시 처음으로 돌아가 for문을 돌려 nums 값과 비교한다.
풀이는 다음과 같다.
0 0 1 1 1 2 2 3 3 4
int idx = 1
nums[1] == nums[0] 0 0
nums[2] == nums[0] 1 0 stop
nums[1] = nums[2]
0 1 1 1 1 2 2 3 3 4
int idx = 2
nums[3] == nums[1] 1 1
nums[4] == nums[1] 1 1
nums[5] == nums[1] 2 1 stop
nums[2] = nums[5]
0 1 2 1 1 2 2 3 3 4
int idx = 3
nums[6] == nums[2] 2 2
nums[7] == nums[2] 3 2 stop
nums[3] = nums[7]
0 1 2 3 1 2 2 3 3 4
int idx = 4
nums[8] == nums[3] 3 3
nums[9] == nums[3] 4 3 stop
nums[4] = nums[9]
0 1 2 3 4 2 2 3 3 4
int idx = 5;
'LeetCode > Algorithms' 카테고리의 다른 글
28. Implement strStr() (0) | 2021.10.20 |
---|---|
27. Remove Element (0) | 2021.10.19 |
*21. Merge Two Sorted Lists (0) | 2021.10.17 |
*20. Valid Parentheses (0) | 2021.10.17 |
**14. Longest Common Prefix (0) | 2021.10.14 |