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
- sqldeveloper
- 서평
- 성적프로그램
- 필기
- 미니프로젝트
- 항해99
- 2020년 정보처리기사 4회
- 함수형 코딩
- 정보처리기사
- 코드숨
- 알고리즘
- 뇌정리
- hackerrank
- Python
- LeetCode
- jsp
- algorithms
- 주간회고
- java
- post
- Til
- Jackson
- Real MySQL
- 2020년 제4회 정보처리기사 필기 문제 분석
- 책리뷰
- 스터디
- 회고
- If
- git
- 2020년 일정
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 |