인프런 커뮤니티 질문&답변

sdqkmlqdwkmqwdl님의 프로필 이미지
sdqkmlqdwkmqwdl

작성한 질문수

자바 코딩테스트 - it 대기업 유제

2. "수열 찾기" 코드 해설

풀이질문입니다.

작성

·

370

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문이라 조금 효율성이 해시보다는 떨어져 보입니다.

 

sdqkmlqdwkmqwdl님의 프로필 이미지
sdqkmlqdwkmqwdl

작성한 질문수

질문하기