์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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
- JDK
- ํด์
- Iterator
- ๋ฐฑ์ค
- ๋งฅ๋ถ
- homebrew
- ์๋๋ก์ด๋ ์คํ๋์ค
- MAC OS
- OAuth ์ธ์ฆ
- ๊ฐ๊ฒฉ์ด ์ ์ผ ๋น์ผ ์ํ์ ์ ๋ณด ์ถ๋ ฅํ๊ธฐ
- ์๋ฐ
- ํ๋ก๊ทธ๋จ์
- HashMap
- Java
- mysql
- ๋ ธ์ ๋ณ ํ๊ท ์ญ ์ฌ์ด ๊ฑฐ๋ฆฌ ์กฐํํ๊ธฐ
- Eclipse
- ํธ๋ํฐ ๊ฐ๋ฆฌ๊ธฐ
- ํ๋ก๊ทธ๋๋จธ์ค
- ํฌ๋งท ์ง์ ์
- 27866
- SQL์ฝ๋ฉํ ์คํธ
- github
- ์๊ณ ๋ฆฌ์ฆ
- sort์ ๋ ฌ
- Android Studio
- ๊นํ๋ธ
- ๋ฌธ์์ด ์ซ์ ๋ณํ
- ์ฝ๋ฉํ ์คํธ
- M1
Archives
- Today
- Total
๊ฐ๋ฐ์ผ์ง
[Java] HashSet, set → ๋ฐฐ์ด ๋ฆฌํด / ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ ๋ณธ๋ฌธ
Algorithm
[Java] HashSet, set → ๋ฐฐ์ด ๋ฆฌํด / ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ
O'mil 2024. 5. 24. 21:30728x90
๐ ๋งํฌ
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๐ ๋ฌธ์ ์ค๋ช
- ์ ๋ฐฐ์ด numbers๊ฐ ์ฃผ์ด์ง๋๋ค.
numbers์์ ์๋ก ๋ค๋ฅธ ์ธ๋ฑ์ค์ ์๋ ๋ ๊ฐ์ ์๋ฅผ ๋ฝ์ ๋ํด์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ์๋ฅผ
๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ ์์
โ๏ธ ํ์ด ์์
- ์ค๋ณต ์ ๊ฑฐ๋ฅผ ์ํด Set ์ฌ์ฉ
- ๋ ์์ ํฉ ๊ตฌํ๊ธฐ
- ๋ฐฐ์ด๋ก ๋ณํํด ๋ฆฌํด
๐ HashSet
- ์ค๋ณต์ ๊ฑฐ: HashSet์ ์ค๋ณต๋ ์์๋ฅผ ์๋์ผ๋ก ์ ๊ฑฐํจ.
- ๋น ๋ฅธ ์กฐํ ์๋: ๋ด๋ถ์ ์ผ๋ก ํด์ ํ ์ด๋ธ ์ฌ์ฉํ๋ฏ๋ก ์์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์กฐํํ๋ ์์ ์ด ํ๊ท ์ ์ผ๋ก O(1)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง
๐ป ์ฝ๋
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
Set<Integer> sum = new HashSet<>();
for (int i = 0; i < numbers.length; i++) {
for (int j = i + 1; j < numbers.length; j++) {
sum.add(numbers[i] + numbers[j]);
}
}
List<Integer> list = new ArrayList<>(sum);
Collections.sort(list);
return list.stream().mapToInt(Integer::intValue).toArray();
}
}
→ ๊ตณ์ด list๋ก ๋ฐ๊พธ์ง ์๊ณ set์์ ๋ฐ๋ก ๋ฐฐ์ด๋ก ๋ฐ๊ฟ ์ ์์๋ค.
๋ค๋ฅธ ์ฌ๋์ ์ฝ๋
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
Set<Integer> sum = new HashSet<>();
for (int i = 0; i < numbers.length; i++) {
for (int j = i + 1; j < numbers.length; j++) {
sum.add(numbers[i] + numbers[j]);
}
}
return sum.stream().sorted().mapToInt(i->i).toArray();
}
}
๐Reference
728x90
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments