๐Ÿ’ป ๊ณต๋ถ€ (IT)/๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป ์ฝ”๋”ฉ

[JAVA] ๋‘ ๊ฐœ ๋ฝ‘์•„์„œ ๋”ํ•˜๊ธฐ

zoo-it 2021. 3. 29. 23:05

 

 

๋ฌธ์ œ
์ •์ˆ˜ ๋ฐฐ์—ด 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]

 

์ž‘์„ฑ ์ฝ”๋“œ ๋ฐ ํ’€์ด
import java.util.*;

class Solution {
    public int[] solution(int[] numbers) {
        int[] answer = {};
        ArrayList<Integer> list = 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 (!list.contains(sum)) {            // list์— ๋‘ ์ˆ˜์˜ ํ•ฉ์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด
                    list.add(sum);		      // ๋‘ ์ˆ˜์˜ ํ•ฉ์ธ sum ์ถ”๊ฐ€
                }
            }
        }
        
        Collections.sort(list);                       // ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
        
        answer = new int[list.size()];                // ๋‘ ์ˆ˜์˜ ํ•ฉ์„ ์ €์žฅํ•  ๋ฐฐ์—ด 
        
        int idx = 0;
        
        for (int sum : list) {
            answer[idx] = sum;                        // list์—์„œ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด answer ๋ณ€์ˆ˜์— ์ €์žฅ
            idx++;
        }
        
        return answer;
    }
}

 

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ˆ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.

 

5 1 3 2 6

 

1) ์ฒซ ๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ์—์„œ๋Š” ํฐ ๋ฃจํ”„๋ฅผ ๋Œ๊ฒŒ ๋œ๋‹ค!

     ์ฆ‰, numbers[0] = 5์ผ ๋•Œ

           numbers[1] = 1์ผ ๋•Œ

                           ...

     ์ด๋Ÿฐ์‹์œผ๋กœ ๋น„๊ต๋ฅผ ํ•˜๊ฒŒ ๋จ

 

2) ๋‘ ๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ์—์„œ๋Š” ์ž‘์€ ๋ฃจํ”„๋ฅผ ๋Œ๊ฒŒ ๋œ๋‹ค!

     ์ฆ‰, numbers[0] = 5์ผ ๋•Œ numbers[1], numbers[2], numbers[3], numbers[4]์™€ ๋น„๊ต

           numbers[1] = 1์ผ ๋•Œ numbers[2], numbers[3], numbers[4]์™€ ๋น„๊ต

                                               ...

     ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฉด์„œ ๊ฐ ๋ฐฐ์—ด์˜ ํ•ฉ์„ sum ๋ณ€์ˆ˜์— ์ €์žฅํ•ด์คŒ!

 

3) ์ด ๋•Œ ํ•ด๋‹น ๊ฐ’์ด list์— ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด list ๋ฐฐ์—ด์— ์ถ”๊ฐ€ (์ค‘๋ณต์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด)

 

4) ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ฃผ๊ณ , ํ–ฅ์ƒ๋œ for๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฆฌํ„ดํ•  answer ๋ฐฐ์—ด์— ๊ฐ’ ์ €์žฅ!

 

* ํ–ฅ์ƒ๋œ for๋ฌธ์— ๋Œ€ํ•œ ์„ค๋ช…

2021.03.29 - [IT/๊ฐœ๋…์ •๋ฆฌ] - ํ–ฅ์ƒ๋œ FOR ๋ฌธ

 

ํ–ฅ์ƒ๋œ FOR ๋ฌธ

์กฐ๊ฑด JDK 1.5 ์ด์ƒ ์‚ฌ์šฉํ•  ๋ณ€์ˆ˜๋Š” ์ง€์—ญ๋ณ€์ˆ˜๋กœ ์ธ์‹ํ•จ (for๋ฌธ ์•ˆ์—์„œ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ) ๋Œ€์ƒ์€ ๋ฐฐ์—ด ๋˜๋Š” ์—ฌ๋Ÿฌ ์›์†Œ๋ฅผ ํฌํ•จํ•œ ์ž๋ฃŒํ˜•์ด์–ด์•ผ ํ•จ ์žฅ์  ๊ฐ€๋…์„ฑ์ด ์ข‹์œผ๋ฉฐ ๊ฐ„ํŽธํ•จ ๋ฐฐ์—ด ์ธ๋ฑ์Šค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ

zoo-it.tistory.com

 

์‹คํ–‰ ๊ฒฐ๊ณผ