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
- array
- Binary Search
- Counting
- implement
- Binary Tree
- geometry
- sorting
- SQL
- Math
- 자바
- java
- Method
- string
- dynamic programming
- 파이썬
- simulation
- greedy
- Matrix
- database
- two pointers
- 코딩테스트
- Data Structure
- Stack
- hash table
- 구현
- Class
- Number Theory
- Tree
- 코테
- bit manipulation
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 1313. Decompress Run-Length Encoded List 본문
1. Input
1) 정수를 담은 배열 nums
2. Output
1) nums의 요소를 2개씩 짝지어 [a, b]로 봤을 때, b가 a번 나타나게 만든 배열을 모두 이은 새든 배열을 반환
3. Constraint
1) 2 <= nums.length <= 100
2) nums.length % 2 == 0
3) 1 <= nums[i] <= 100
4. Example
Input: nums = [1,2,3,4] -> Output: [2,4,4,4]
설명:
- 첫 번째: [1, 2] -> 2를 1번 -> [2]
- 두 번째: [3, 4] -> 4를 3번 -> [4, 4, 4]
- 만들어진 배열을 전부 이은 [2, 4, 4, 4]를 반환한다.
5. Code
1) 첫 코드(2022/06/03)
int n = nums.length / 2;
int freq, val;
String digits = "";
for(int i=0 ; i<n ; i++){
freq = nums[2*i];
val = nums[2*i+1];
for(int j=0 ; j<freq ; j++)
digits += val + " ";
} // for i
String[] list = digits.split(" ");
int[] result = new int[list.length];
for(int i=0 ; i<list.length ; i++)
result[i] = Integer.parseInt(list[i]);
return result;
2) 수정해본 코드(2022/12/24)
import java.util.*;
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i=0 ; i<nums.length-1 ; i+=2){
for(int j=0 ; j<nums[i] ; j++)
list.add(nums[i+1]);
}
int[] answer = new int[list.size()];
for(int i=0 ; i<answer.length ; i++)
answer[i] = list.get(i);
return answer;
- 1번보다는 낫지만, 여전히 비효율적인 코드
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 1342. Number of Steps to Reduce a Number to Zero (0) | 2022.12.24 |
---|---|
[LeetCode/Easy] 1323. Maximum 69 Number (0) | 2022.12.24 |
[LeetCode/Easy] 1299. Replace Elements with Greatest Element on Right Side (0) | 2022.12.24 |
[LeetCode/Easy] 1295. Find Numbers with Even Number of Digits (0) | 2022.12.24 |
[LeetCode/Easy] 1290. Convert Binary Number in a Linked List to Integer (0) | 2022.12.24 |