๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/68644
์ ์ ๋ฐฐ์ด numbers๊ฐ ์ฃผ์ด์ง๋๋ค. numbers์์ ์๋ก ๋ค๋ฅธ ์ธ๋ฑ์ค์ ์๋ ๋ ๊ฐ์ ์๋ฅผ ๋ฝ์ ๋ํด์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ์๋ฅผ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
- numbers์ ๊ธธ์ด๋ 2 ์ด์ 100 ์ดํ์
๋๋ค.
- numbers์ ๋ชจ๋ ์๋ 0 ์ด์ 100 ์ดํ์ ๋๋ค.
์ ์ถ๋ ฅ ์
numbers | result |
[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 = 7 + 0 =5 = 2 ์ ๋๋ค.
- 9 = 2 + 7 ์ ๋๋ค.
- 12 = 5 + 7 ์ ๋๋ค.
- ๋ฐ๋ผ์ [2, 5, 7, 9, 12]๋ฅผ returnํด์ผ ํฉ๋๋ค.
๋ด๊ฐ ์์ฑํ ์ฝ๋
import java.util.*;
class Solution {
public ArrayList<Integer> solution(int[] numbers) {
ArrayList<Integer> answer = new ArrayList<>();
for (int i = 0; i < numbers.length-1; i++) {
for (int j = i+1; j < numbers.length; j++) {
int sum = numbers[i] + numbers[j];
if (!answer.contains(sum)){
answer.add(sum);
}
}
}
Collections.sort(answer);
return answer;
}
}
์ฝ๋ ์ค๋ช
- ArrayList<Integer> answer = new ArrayList<>( ) : ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ ๋ฆฌ์คํธ answer๋ฅผ ์์ฑํ๋ค. ArrayList๋ ๋์ ์ผ๋ก ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ ๋ฆฌ์คํธ๋ก, ์ค๋ณต๋์ง ์์ ๋ ์์ ํฉ์ ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
- for (int i = 0; i < numbers.length - 1; i++) { } : ์ฒซ ๋ฒ์งธ for๋ฌธ์ผ๋ก numbers ๋ฐฐ์ด์ ์์๋ฅผ ์ํํ๋ค. ๋ ๋ฒ์งธ ์ซ์๋ฅผ ์ฐพ๊ธฐ ์ํด numbers.length - 1๊น์ง๋ง ๋ฐ๋ณตํ๋ค.
- for (int j = i+1; j < numbers.length; j++) { } : ๋ ๋ฒ์งธ for๋ฌธ์ผ๋ก i ์ดํ์ ์ซ์๋ค์ ์ํํ๋ค. j๋ ํญ์ i+1๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์, ๊ฐ ๋ฐ๋ณต์์ ์๋ก ๋ค๋ฅธ ๋ ์ซ์์ ์กฐํฉ์ ๋ง๋ ๋ค.
- int sum = numbers[i] + numbers[j] : numbers ๋ฐฐ์ด์ i๋ฒ์งธ ์์์ j๋ฒ์งธ ์์์ ํฉ์ ๊ตฌํ์ฌ sum ๋ณ์์ ์ ์ฅํ๋ค. ๋ชจ๋ ๊ฐ๋ฅํ ๋ ์ซ์์ ํฉ์ ๊ณ์ฐํ ์ ์๋ค.
- if (!answer.contains(sum)) { answer.add(sum) } : answer ๋ฆฌ์คํธ์ ์ด๋ฏธ sum ๊ฐ์ด ํฌํจ๋์ด ์๋์ง ํ์ธํ๋ค. ๋ง์ฝ answer ๋ฆฌ์คํธ์ sum ๊ฐ์ด ์๋ค๋ฉด ๋ฆฌ์คํธ์ ์ถ๊ฐํ๋ค.
- for (int j = i+1; j < numbers.length; j++) { } : ๋ ๋ฒ์งธ for๋ฌธ์ผ๋ก i ์ดํ์ ์ซ์๋ค์ ์ํํ๋ค. j๋ ํญ์ i+1๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์, ๊ฐ ๋ฐ๋ณต์์ ์๋ก ๋ค๋ฅธ ๋ ์ซ์์ ์กฐํฉ์ ๋ง๋ ๋ค.
- Collenctions.sort(answer) : ๋ชจ๋ ๋ ์์ ํฉ์ด answer ๋ฆฌ์คํธ์ ์ ์ฅ์ด ๋ ํ, ๋ฆฌ์คํธ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
'ํ๋ก๊ทธ๋๋จธ์ค > ์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค_ํธ๋ ํ์ดํธ ๋ํ (0) | 2024.12.10 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค_๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์ (0) | 2024.12.09 |
ํ๋ก๊ทธ๋๋จธ์ค_K๋ฒ์งธ์ (0) | 2024.12.04 |
ํ๋ก๊ทธ๋๋จธ์ค_๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ (0) | 2024.12.03 |
ํ๋ก๊ทธ๋๋จธ์ค_์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (0) | 2024.12.02 |