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
- Binary Search
- string
- simulation
- hash table
- Number Theory
- implement
- two pointers
- java
- Tree
- Binary Tree
- 파이썬
- SQL
- bit manipulation
- database
- Method
- 구현
- geometry
- Data Structure
- greedy
- Stack
- 코딩테스트
- Math
- Counting
- Matrix
- 코테
- Class
- 자바
- dynamic programming
- sorting
- array
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 2460. Apply Operations to an Array 본문
1. Input
1) int[] nums
2. Output
1) nums의 앞에서부터 다음 연산을 진행한 후, nums에 있는 0을 모두 배열 끝으로 옮긴 결과를 반환
- nums[i]==nums[i+1]이라면 nums[i]는 2배를 하고 nums[i+1]은 0으로 만든다.
3. Constraint
1) 2 <= nums.length <= 2000
2) 0 <= nums[i] <= 1000
4. Example
Input: nums = [1,2,2,1,1,0] -> Output: [1,4,2,0,0,0]
설명:
- nums[1]==nums[2] -> [1,4,0,1,1,0]
- nums[3]==nums[4] -> [1,4,0,2,0,0]
- nums[4]==nums[5] -> [1,4,0,2,0,0]
- 0을 모두 뒤로 옮기면 [1,4,2,0,0,0]이 된다.
5. Code
1) 첫 코드(2023/05/04)
class Solution {
public int[] applyOperations(int[] nums) {
int[] answer = new int[nums.length];
int j = 0;
for(int i=0 ; i<nums.length-1 ; i++){
if(nums[i]==nums[i+1]){
nums[i] *= 2; nums[i+1] = 0;
}
if(nums[i]!=0)
answer[j++] = nums[i];
}
if(nums[nums.length-1]!=0)
answer[j++] = nums[nums.length-1];
for(int i=j ; i<nums.length ; i++)
answer[i] = 0;
return answer;
}
}
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 2469. Convert the Temperature (0) | 2023.05.04 |
---|---|
[LeetCode/Easy] 2465. Number of Distinct Averages (0) | 2023.05.04 |
[LeetCode/Easy] 2455. Average Value of Even Numbers That Are Divisible by Three (0) | 2023.05.04 |
[LeetCode/Easy] 2446. Determine if Two Events Have Conflict (0) | 2023.05.04 |
[LeetCode/Easy] 2441. Largest Positive Integer That Exists With Its Negative (0) | 2023.05.04 |