• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

풀이질문입니다.

23.05.29 20:37 작성 조회수 289

0

안녕하세요. 해시를 이용한 풀이 잘 보았습니다!!.

저는 혹시 리스트를 이용해서 풀어보았는데

괜찮은 풀이 방식일까요??

public static int[] solution(int[] nums){
        int n = nums.length;
        int[] answer = new int[n / 2];
        ArrayList<Integer> ans = new ArrayList<>();
        for(int x : nums){
            ans.add(x);
        }
        Collections.sort(ans);
        for(int x : nums){
            for(int i=0;i<ans.size();i++){
                if(x*2 == ans.get(i)){
                    ans.remove(i);
                    break;
                }
            }
        }
        for(int i=0;i<n/2;i++){
            answer[i] = ans.get(i);
        }
        return answer;
    }

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. 잘 하셨습니다.

다만 중간에 break를 하지만 그래도 2중 for문이라 조금 효율성이 해시보다는 떨어져 보입니다.