โค๏ธ Problem
- ๋ฌธ์
์ ์ ๋ฐฐ์ด numbers๊ฐ ์ฃผ์ด์ง๋๋ค. numbers์์ ์๋ก ๋ค๋ฅธ ์ธ๋ฑ์ค์ ์๋ ๋ ๊ฐ์ ์๋ฅผ ๋ฝ์ ๋ํด์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ์๋ฅผ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
- ์ ํ ์ฌํญ
- numbers์ ๊ธธ์ด๋ 2 ์ด์ 100 ์ดํ์ ๋๋ค.
- numbers์ ๋ชจ๋ ์๋ 0 ์ด์ 100 ์ดํ์ ๋๋ค.
- ์ ์ถ๋ ฅ ์ & ์ค๋ช
no | numbers | result |
1 | [2,1,3,4,1] | [2,3,4,5,6,7] |
2 | [5,0,2,7] | [2,5,7,9,12] |
- 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 = 0 + 2 ์
๋๋ค.
5 = 5 + 0 ์ ๋๋ค.
7 = 0 + 7 = 5 + 2 ์ ๋๋ค.
9 = 2 + 7 ์ ๋๋ค.
12 = 5 + 7 ์ ๋๋ค.
๋ฐ๋ผ์ [2,5,7,9,12] ๋ฅผ return ํด์ผ ํฉ๋๋ค.
๐ Solution
ํ์ด
import java.util.ArrayList;
import java.util.Collections;
class Solution {
public int[] solution(int[] numbers) {
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i=0; i<numbers.length-1; i++) {
for(int j=i; j<numbers.length; j++) {
int sum = numbers[i]+numbers[j];
if(i!=j && !list.contains(sum)) {
list.add(sum);
}
}
}
Collections.sort(list);
int[] answer = new int[list.size()];
for (int i=0; i<list.size(); i++) {
answer[i] = list.get(i).intValue();
}
return answer;
}
}
์ฒ๋ฆฌ์๋ GOOD๐
๐ Comment
int[] numbers์ ๊ฐ ๋๊ฐ๋ฅผ ๋ํด์ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ํ ๋ค ๋ฐํํด์ผํ๋ ๋ฌธ์ ์ด๋ค.
์ผ๋จ, numbers[]์ ๊ฐ ๋๊ฐ๋ฅผ ๋ํ์ ๋ ์ค๋ณต๊ฐ์ด ๋ช๊ฐ๊ฐ ๋์ฌ์ง๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ArrayList<Integer> list๋ฅผ ์ ์ธํ๋ค. ๊ทธ ๋ค์ ์ด์ค for ๋ฌธ์ ์ฌ์ฉํด์ numbers[i]์ numbers[j]๋ฅผ ๋ํ๋๋ก ํ ๋ค์, i๊ฐ j๊ฐ ์๋ ๊ฒฝ์ฐ์ ArrayList.contain()์ ์ฌ์ฉํด์ ์ด๋ฏธ ๊ทธ ๊ฐ์ด ArrayList์ ์๋ ๊ฒฝ์ฐ์๋ง ArrayList์ ๊ฐ์ ์ฝ์ ํ๋๋ก ํ์๋ค.
i์ j๊ฐ ๋ค๋ฅผ ๊ฒ์ด๋ผ๋ ์กฐ๊ฑด์ ๊ฑด ์ด์ ๋ ๋์ผ ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง ๊ฐ์ ๋ํ์ง ๋ชปํ๋๋ก ํ๊ธฐ ์ํจ์ด๋ค. ArrayList.contain()์ผ๋ก ์ค๋ณต๊ฐ์ด ArrayList์ ๋ค์ด๊ฐ์ง ์๋๋ก ํ์๋ค.
๊ทธ ๋ค์, Collections.sort()๋ฅผ ์ฌ์ฉํด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ค ArrayList ๊ฐ์ int[] answer์ for๋ฌธ์ ์ฌ์ฉํด์ ๋ฃ์ ๋ค ๋ฐํํ์๋ค.
'Programmers lv-1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ชจ์๊ณ ์ฌ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.19 |
---|---|
ํฐ์ผ๋ชฌ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.18 |
2016๋ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.17 |
์ผ์ด์ฌ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.13 |
K๋ฒ์งธ์ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.13 |
๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (1) | 2022.12.12 |
๋๊ธ