강의

멘토링

로드맵

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

jhjikhsdsdw님의 프로필 이미지
jhjikhsdsdw

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

2. 공통원소구하기(two pointers algorithm)

제 코드는 왜 에러가 날까요...?

작성

·

280

0

코드에 문제가 없는 것 같은데 오답이라고 나오네요. 

제가 어떤 부분에서 놓친건지 알려주시면 감사하겠습니다.

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        ArrayList<Integer> result = new ArrayList<>();

        int n = sc.nextInt();
        ArrayList<Integer> arr = new ArrayList<>();

        for(int tmp : arr)
            System.out.print(tmp + " ");

        for(int i = 0; i < n; i++) {
            arr.add(sc.nextInt());
        }

        Collections.sort(arr);

        int n2 = sc.nextInt();
        ArrayList<Integer> arr2 = new ArrayList<>();

        for(int i = 0; i < n2; i++) {
            arr2.add(sc.nextInt());
        }

        Collections.sort(arr2);
        /*                                                            */
        int pointer = 0, pointer2 = 0;
        while(pointer < n && pointer2 < n2) {
            if(arr.get(pointer) == arr2.get(pointer2)){
                result.add(arr.get(pointer++));
                pointer2++;
            }
            else if(arr.get(pointer) < arr2.get(pointer2))
                pointer++;
            else
                pointer2++;
        }

        for(int tmp : result)
            System.out.print(tmp + " ");
    }
}

퀴즈

51%나 틀려요. 한번 도전해보세요!

투 포인터 또는 슬라이딩 윈도우 기법을 사용하여 얻을 수 있는 가장 큰 이점은 무엇일까요?

데이터를 정렬할 필요가 없다

일반적으로 더 효율적인 시간 복잡도를 가진다

더 적은 메모리를 사용한다

모든 종류의 문제에 적용 가능하다

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

강의소개란에 보면 채점을 해서 오답이 나면 오답이 나오는 입력데이터를 볼 수 있는 방법을 설명해 놓았습니다. 채점사이트의 해당기능을 사용해 디버그해보세요.

jhjikhsdsdw님의 프로필 이미지
jhjikhsdsdw

작성한 질문수

질문하기