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

이주용님의 프로필 이미지
이주용

작성한 질문수

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

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

2번만 RuntimeError가 뜨는데요

작성

·

282

0

package twopointers;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class CommonElements {

	static ArrayList<Integer> solution(int n, int m, int[] arr, int[] arr2) {

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

		Arrays.sort(arr);
		Arrays.sort(arr2);

		int p1 = 0;
		int p2 = 0;

		while (p1 < n && p2 < m) {

			if (arr[p1] == arr2[p2]) {
				list.add(arr[p1]);
				p1++;
				p2++;
			} else if (arr[p1] < arr2[p2]) {
				p1++;
			} else {
				p2++;
			}

		}
		return list;

	}

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		int n = sc.nextInt();
		int[] arr = new int[n];

		for (int i = 0; i < n; i++) {

			arr[i] = sc.nextInt();

		}

		int m = sc.nextInt();
		int[] arr2 = new int[n];

		for (int i = 0; i < m; i++) {

			arr2[i] = sc.nextInt();

		}

		for (int result : CommonElements.solution(n, m, arr, arr2)) {
			System.out.print(result + " ");
		}
	}

}

runtimeError.jpg뭐가 문제일까요??

답변 1

0

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

안녕하세요^^

오타입니다.

int m = sc.nextInt();
int[] arr2 = new int[n];

 

이주용님의 프로필 이미지
이주용

작성한 질문수

질문하기