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