알고리즘/자료구조

[LeetCode] 27. Remove Element - Java

2023. 8. 24. 20:58
목차
  1. 문제
  2. 내 풀이

 

 

Remove Element - LeetCode

Can you solve this real interview question? Remove Element - Given an integer array nums and an integer val, remove all occurrences of val in nums in-place [https://en.wikipedia.org/wiki/In-place_algorithm]. The order of the elements may be changed. Then r

leetcode.com

 

문제

더보기

Given an integer array nums and an integer val, remove all occurrences of val in nums in-place. The order of the elements may be changed. Then return the number of elements in nums which are not equal to val.

Consider the number of elements in nums which are not equal to val be k, to get accepted, you need to do the following things:

  • Change the array nums such that the first k elements of nums contain the elements which are not equal to val. The remaining elements of nums are not important as well as the size of nums.
  • Return k.

Custom Judge:

The judge will test your solution with the following code:

int[] nums = [...]; // Input array
int val = ...; // Value to remove
int[] expectedNums = [...]; // The expected answer with correct length.
                            // It is sorted with no values equaling val.

int k = removeElement(nums, val); // Calls your implementation

assert k == expectedNums.length;
sort(nums, 0, k); // Sort the first k elements of nums
for (int i = 0; i < actualLength; i++) {
    assert nums[i] == expectedNums[i];
}

If all assertions pass, then your solution will be accepted.

 

Example 1:

Input: nums = [3,2,2,3], val = 3
Output: 2, nums = [2,2,_,_]
Explanation: Your function should return k = 2, with the first two elements of nums being 2.
It does not matter what you leave beyond the returned k (hence they are underscores).

Example 2:

Input: nums = [0,1,2,2,3,0,4,2], val = 2
Output: 5, nums = [0,1,4,0,3,_,_,_]
Explanation: Your function should return k = 5, with the first five elements of nums containing 0, 0, 1, 3, and 4.
Note that the five elements can be returned in any order.
It does not matter what you leave beyond the returned k (hence they are underscores).

 

Constraints:

  • 0 <= nums.length <= 100
  • 0 <= nums[i] <= 50
  • 0 <= val <= 100

 

주어진 배열 nums 에서 val 과 일치하는 원소들을 찾아 모두 제거하는 문제이다.

nums 배열 자체에서 원소를 제거하고, 제거된 뒤 nums에 남은 원소의 개수 k 를 반환한다.

 


 

내 풀이

class Solution {
    public int removeElement(int[] nums, int val) {

        int k = 0;
        for(int i=0; i<nums.length; i++){
           if(nums[i] != val){
               nums[k] = nums[i];
               k++;
           }
        }
        return k;
    }
}

제거한 뒤 남아있는 원소들을 제외하고 그 뒤에 값들은 중요하지 않기 때문에

단순하게 val 과 일치하지 않을 때 nums[k] 에 해당 값을 넣어주면서 k를 증가시키면 된다.

 

저작자표시 (새창열림)

'알고리즘 > 자료구조' 카테고리의 다른 글

[LeetCode] 80. Remove Duplicates from Sorted Array II - Java  (0) 2023.08.24
[LeetCode] 26. Remove Duplicates from Sorted Array - Java  (0) 2023.08.24
[LeetCode] 88. Merge Sorted Array - Java  (0) 2023.08.24
[백준] 1874 스택 수열 (스택) - Java  (0) 2023.05.16
[백준] 11003 최솟값 찾기 (슬라이딩 윈도우, 덱) - Java  (0) 2023.05.14
  1. 문제
  2. 내 풀이
'알고리즘/자료구조' 카테고리의 다른 글
  • [LeetCode] 80. Remove Duplicates from Sorted Array II - Java
  • [LeetCode] 26. Remove Duplicates from Sorted Array - Java
  • [LeetCode] 88. Merge Sorted Array - Java
  • [백준] 1874 스택 수열 (스택) - Java
jny0
jny0
성장일기
jny0
J N Y 0
jny0
  • 분류 전체보기 (192)
    • 트러블슈팅 (6)
    • Java (22)
    • HTML, CSS , JavaScript (7)
    • MySQL, DBMS (9)
    • GIT (6)
    • 객체지향의 사실과 오해 (3)
    • 자바 ORM 표준 JPA 프로그래밍 (13)
    • 알고리즘 (114)
      • 자료구조 (59)
      • 수학 (11)
      • 정렬 (2)
      • 그리디 (3)
      • DP (4)
      • 그래프 (3)
      • 탐색 (9)
      • 재귀 (2)
      • 문자열 (9)
      • 기타 (12)
    • CS (10)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기
  • 관리

공지사항

인기 글

태그

  • 스택
  • JS
  • MySQL
  • 자료구조
  • DP
  • BFS
  • 영상후기
  • JPA
  • 백준
  • method
  • 구현
  • 그리디
  • 프로그래머스
  • codeup
  • 알고리즘
  • Java
  • db
  • 투포인터
  • git
  • 누적합

최근 댓글

최근 글

hELLO · Designed By 정상우.
jny0
[LeetCode] 27. Remove Element - Java
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.