๐ฅDAY +11
https://programmers.co.kr/learn/courses/30/lessons/68644
> ๋ฌธ์ ๋ฅผ ๋ณด๋ ค๋ฉด ๋๋ณด๊ธฐ ํด๋ฆญ!
๋ฌธ์ ์ค๋ช
์ ์ ๋ฐฐ์ด numbers๊ฐ ์ฃผ์ด์ง๋๋ค. numbers์์ ์๋ก ๋ค๋ฅธ ์ธ๋ฑ์ค์ ์๋ ๋ ๊ฐ์ ์๋ฅผ ๋ฝ์ ๋ํด์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ์๋ฅผ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- numbers์ ๊ธธ์ด๋ 2 ์ด์ 100 ์ดํ์
๋๋ค.
- numbers์ ๋ชจ๋ ์๋ 0 ์ด์ 100 ์ดํ์ ๋๋ค.
์ ์ถ๋ ฅ ์numbersresult
[2,1,3,4,1] | [2,3,4,5,6,7] |
[5,0,2,7] | [2,5,7,9,12] |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #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 ํด์ผ ํฉ๋๋ค.
๐ฅ [๋ก์ง]
๋งจ ์ฒ์ numbers ๋ฐฐ์ด์ ๊ฐ์ด ์์ฌ์์ ์๋ ์๊ธฐ ๋๋ฌธ์ Arrays.sort๋ฅผ ํตํด ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ํด์คฌ๋ค.
์๋ฃ๊ตฌ์กฐ๋ก๋ Set ํด๋์ค๋ฅผ ์ด์ฉํ๋ค. (๋น ๋ฅธ ๊ฒ์์ด ํ์ํ ๋ ์ ์ฉํ๋ค๋ ํน์ง์ด ์์)
๋ฌธ์ ์์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ์๊ฐ ์ค๋ณต์ด ๋์ง ์๊ฒ ์ถ๋ ฅ๋์ด์ผ ํ๋ฏ๋ก Set ์ค์์๋ ์ค๋ณต์ถ๋ ฅ์ด ๋์ง ์๊ณ ์๋์ผ๋ก ์ค๋ฆ์ฐจ์ ๋ฐ์ดํฐ ์ ๋ ฌ์ด ๋๋ TreeSet ์ ์ฌ์ฉํ๋ค.
๊ฐ๊ฐ ๊ฐ์ ๋น๊ตํด์ set์ ๋ด์์ฃผ๋ ๋ฐฉ์์ ์ด์ฉํ๋ค. (์ ๋ ฌ์ ์์์ ๋๊ธฐ ๋๋ฌธ์ ๊ณ ๋ คํ์ง ์์๋ ๋จ.)
๊ทธ ํ Set์์ int[]๋ฐฐ์ด๋ก ๋ณํํด์ ๋ฆฌํดํด์ค์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ณํ!
set.stream().sorted().mapToInt(Integer::intValue).toArray()
๐ฅ [์ต์ข ์ฝ๋]
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
Arrays.sort(numbers);
Set<Integer> set = new TreeSet<Integer>();
for(int i = 0; i < numbers.length; i++) {
for(int j = i+1; j < numbers.length; j++) {
set.add(numbers[i]+numbers[j]);
}
}
return set.stream().sorted().mapToInt(Integer::intValue).toArray();
}
}
๐ฅ [์๊ฐ]
HashSet์ ์ฌ์ฉํด ๋ณธ ์ ์ด ์์๋๋ฐ TreeSet์ ์ฒ์ ์ฌ์ฉํด๋ดค๋ค.ใ ใ ์ฅ์ ๊ณผ ํน์ง์ด ๋๋ ทํ Set์ด๋ผ์ ์ด๋ฒ ๊ธฐํ์ ํ๋ฒ ๋ธ๋ก๊ทธ์ ์ ๋ฆฌํด๋ ์ข์๊ฒ ๊ฐ๋น.
๋ญ๋ ์ง ์ฒ์์ด ์ด๋ ต์ง ๊ทธ ๋ค์๋ ์ฌ์ฉํ๋๊ฑด ์ด๋ ต์ง ์์๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ค! ๋น ๋ฅด๊ฒ ํ๋ก๊ทธ๋๋จธ์ค 2๋จ๊ณ๋ก ์ฌ๋ผ๊ฐ์ผ์ง ํ์ดํ
์ฝํ ์ค๋น๋ฅผ ๋ณธ๊ฒฉ์ ์ผ๋ก ์์ํ์ง ์ผ๋ง ๋์ง ์์ ์ฝ๋์ ๋ฏธํกํ ์ ์ด ๋ง์ ์ ์์ต๋๋ค.
๋ถ์กฑํ ์ ํผ๋๋ฐฑ ์ฃผ์๋ฉด ์์ผ๋ก์ ํฌ์คํ ์ ๋ฐ์ํ๊ฒ ์ต๋๋ค! ๋ด์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค :)
-budtree