์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
Tags
- ๋ ธ์ ๋ณ ํ๊ท ์ญ ์ฌ์ด ๊ฑฐ๋ฆฌ ์กฐํํ๊ธฐ
- Iterator
- Android Studio
- ์๋ฐ
- ๋ฌธ์์ด ์ซ์ ๋ณํ
- 27866
- M1
- ๋ฐฑ์ค
- HashMap
- OAuth ์ธ์ฆ
- ํด์
- ๊นํ๋ธ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์๋๋ก์ด๋ ์คํ๋์ค
- homebrew
- ํธ๋ํฐ ๊ฐ๋ฆฌ๊ธฐ
- ๋งฅ๋ถ
- ์๊ณ ๋ฆฌ์ฆ
- SQL์ฝ๋ฉํ ์คํธ
- JDK
- ์ฝ๋ฉํ ์คํธ
- Java
- mysql
- MAC OS
- Eclipse
- github
- ํฌ๋งท ์ง์ ์
- ํ๋ก๊ทธ๋จ์
- sort์ ๋ ฌ
- ๊ฐ๊ฒฉ์ด ์ ์ผ ๋น์ผ ์ํ์ ์ ๋ณด ์ถ๋ ฅํ๊ธฐ
Archives
- Today
- Total
๊ฐ๋ฐ์ผ์ง
[Java] ArrayList ์ ๋ ฌ, ArrayList → Array ๋ณํ / ๋๋์ด ๋จ์ด์ง๋ ์ซ์ ๋ฐฐ์ด ๋ณธ๋ฌธ
Algorithm
[Java] ArrayList ์ ๋ ฌ, ArrayList → Array ๋ณํ / ๋๋์ด ๋จ์ด์ง๋ ์ซ์ ๋ฐฐ์ด
O'mil 2024. 5. 10. 12:12728x90
๐ ๋งํฌ
๋๋์ด ๋จ์ด์ง๋ ์ซ์ ๋ฐฐ์ด
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๐ ๋ฌธ์ ์ค๋ช
- array์ ๊ฐ element ์ค divisor๋ก ๋๋์ด ๋์ด์ง๋ ๊ฐ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ฐฐ์ด์ ๋ฐํ
divisor๋ก ๋๋์ด ๋จ์ด์ง๋ element๊ฐ ํ๋๋ ์๋ค๋ฉด ๋ฐฐ์ด์ -1์ ๋ด์ ๋ฐํ
๐ ์์
โ๏ธ ํ์ด ์์
- divisor๋ก ๋๋์ด ๋จ์ด์ง๋ ์ ์ฐพ์ ArrayList์ ๋ฃ๊ธฐ
- ArrayList๊ฐ ๋น์๋ค๋ฉด -1 ์ถ๊ฐ
- ์ ๋ ฌ ํ ๋ฐํ
๐ป ์ฝ๋
import java.util.*;
class Solution {
public int[] solution(int[] arr, int divisor) {
List<Integer> answer = new ArrayList<>();
for (int i: arr) {
if (i % divisor == 0) {
answer.add(i);
}
}
if (answer.size() == 0) {
answer.add(-1);
}
Collections.sort(answer);
return answer.stream().mapToInt(Integer::intValue).toArray();
}
}
๐ก๋ฐฐ์ด ์
1. ArrayList ์ ๋ ฌ
- Collections.sort(๋ฆฌ์คํธ) // ์ค๋ฆ์ฐจ์
- Collections.sort(๋ฆฌ์คํธ, Collections.reverseOrder()) // ๋ด๋ฆผ์ฐจ์
- Collections.sort(๋ฆฌ์คํธ, String.CASE_INSENSITIVE_ORDER) //๋์๋ฌธ์ ๊ตฌ๋ถ์์ด ์ค๋ฆ์ฐจ์
- Collections.sort(๋ฆฌ์คํธ, Collections.reverseOrder(String.CASE_INSENSITIVE_ORDER))
// ๋์๋ฌธ์ ๊ตฌ๋ถ์์ด ๋ด๋ฆผ์ฐจ์
2. ArrayList → Array ๋ณํ
- toArray
List<Integer> list = new ArrayList<>();
Object[] arr = list.toArray();
- Stream
List<Integer> list = new ArrayList<>();
int[] arr = list.stream() //Stream<Integer> ๋ฐํ
.mapToInt(Integer::intValue) //Integer์ intValue()๋ฅผ ์ฐธ์กฐํด์ int๋ก ์ธ๋ฐ์ฑ
.toArray(); //IntStream์ ์์๋ฅผ ๋ฐฐ์ด๋ก ๋ณํ
๐ ๋ค๋ฅธ ์ฌ๋์ ํ์ด
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr, int divisor) {
int[] answer = Arrays.stream(arr)
.filter(factor -> factor % divisor == 0) //๋๋์ด ๋จ์ด์ง๋ ๊ฒ๋ง ํํฐ๋ง
.sorted() // ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
.toArray(); //๋ฐฐ์ด๋ก ๋ณํ
if(answer.length == 0) answer = new int[] {-1};
return answer;
}
}
stream ๋งค๋ ฅ ์ฉ๋ค..
๊ทธ๋ ์ง๋ง ๋์ค์ ๋ค์ ํ๋ผ๊ณ ํด๋ ์ด๋ ๊ฒ ํ ์์ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ ๊ฒ๋ ํ ์ ์๊ตฌ๋. ํ๊ณ ๋๊ธด๋ค..
๐Reference
[Java] ArrayList ์ ๋ ฌํ๊ธฐ (์ค๋ฆ์ฐจ์, ๋ด๋ฆผ์ฐจ์, ์ฌ์ฉ์ ์ ์)
728x90
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ (0) | 2024.05.10 |
---|---|
[Java] ์ฝ๋ผ์ธ ์ถ์ธก (0) | 2024.05.10 |
[Java] Math ํจ์ / ์ ์ ์ ๊ณฑ๊ทผ ํ๋ณ (0) | 2024.05.08 |
[Java] ์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ (0) | 2024.05.08 |
[Java] String โ Int / Int โ String ๋ณํํ๊ธฐ (0) | 2024.05.07 |
Comments