728x90
๐โ๏ธ ๋ฌธ์ ์ค๋ช
์ ์ ๋ฐฐ์ด numbers๊ฐ ์ฃผ์ด์ง๋๋ค. numbers์์ ์๋ก ๋ค๋ฅธ ์ธ๋ฑ์ค์ ์๋ ๋ ๊ฐ์ ์๋ฅผ ๋ฝ์ ๋ํด์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ์๋ฅผ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
โ ์ ํ์ฌํญ
- numbers์ ๊ธธ์ด๋ 2 ์ด์ 100 ์ดํ์
๋๋ค.
- numbers์ ๋ชจ๋ ์๋ 0 ์ด์ 100 ์ดํ์ ๋๋ค.
๐ก ์ ์ถ๋ ฅ ์
์ ์ถ๋ ฅ ์ #1
- 2 = 1 + 1 ์ ๋๋ค. (1์ด numbers์ ๋ ๊ฐ ์์ต๋๋ค.)
- 3 = 2 + 1 ์ ๋๋ค.
- 4 = 1 + 3 ์ ๋๋ค.
- 5 = 1 + 4 = 2 + 3 ์ ๋๋ค.
- 6 = 2 + 4 ์ ๋๋ค.
- 7 = 3 + 4 ์ ๋๋ค.
- ๋ฐ๋ผ์ [2,3,4,5,6,7] ์ return ํด์ผ ํฉ๋๋ค.
์
์ถ๋ ฅ ์ #2
- 2 = 0 + 2 ์ ๋๋ค.
- 5 = 5 + 0 ์ ๋๋ค.
- 7 = 0 + 7 = 5 + 2 ์ ๋๋ค.
- 9 = 2 + 7 ์ ๋๋ค.
- 12 = 5 + 7 ์ ๋๋ค.
- ๋ฐ๋ผ์ [2,5,7,9,12] ๋ฅผ return ํด์ผ ํฉ๋๋ค.
๐ฉ ๋ด ํ์ด
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
HashSet<Integer> set = new HashSet<>();
for (int i = 0; i < numbers.length - 1; i++) {
for (int j = i+1; j < numbers.length; j++) {
int a = numbers[i] + numbers[j];
set.add(a);
}
}
// set์ Integer๋ฐฐ์ด๋ก
Integer[] array = set.toArray(new Integer[0]);
// Integer๋ฐฐ์ด์ int๋ฐฐ์ด๋ก
int[] intArray = Arrays.stream(array).mapToInt(Integer::intValue).toArray();
Arrays.sort(intArray);
return intArray;
}
}
๐ง ๋ค๋ฅธ ์ฌ๋ ํ์ด
import java.util.HashSet;
import java.util.Set;
class Solution {
public int[] solution(int[] numbers) {
Set<Integer> set = new HashSet<>();
for(int i=0; i<numbers.length; i++) {
for(int j=i+1; j<numbers.length; j++) {
set.add(numbers[i] + numbers[j]);
}
}
// set์ ์ ๋ ฌ์ํค๊ณ , int๋ฐฐ์ด๋ก ๋ณํํ๊ธฐ
return set.stream().sorted().mapToInt(Integer::intValue).toArray();
}
}
์ข์์๋ฅผ ๊ฐ์ฅ ๋ง์ด ๋ฐ์ ํ์ด์ด๋ค. ๋ด ํ์ด๋ ๋น์ทํ๋ค.
stream์์ ๋ฐ๋ก sorted()๋ฅผ ํด์ฃผ๋๋ก ํ์. stream์ ๊ณต๋ถ๋ฅผ ๋ ํด์ผ๊ฒ ๋ค.
'Back-end > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฝ๋ผ ๋ฌธ์ (java) (0) | 2023.08.12 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ (java) (0) | 2023.08.11 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ (java) (0) | 2023.08.06 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (java) (0) | 2023.08.04 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ๋ฌธ์์ด (java) (0) | 2023.08.02 |