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

yb__char님의 프로필 이미지
yb__char

작성한 질문수

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

1. 두 배열 합치기(two pointers algorithm)

배열 합치기 다른 방법

작성

·

476

0

안녕하세요 강사님 배열 합치기 문제에서

제가 먼저 풀었을때는 아래와 같이 풀어서 accept가 떴긴 했는데 강사님이 강의해주신 코드와 제 코드 시간 비교를 해보니 10ms 정도 차이가 나더라고요 (제 코드가 조금 더 running time이 깁니다.)

혹시 아래 코드를 코딩테스트에서 사용해도 딱히 무방한가요???

 

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

 

import java.util.*;
  
public class Main {
	public ArrayList<Integer> solution(int n, int[] arr1, int m, int[] arr2) {
		ArrayList<Integer> answer = new ArrayList<>();
		for (int x : arr1) answer.add(x);
		for (int x : arr2) answer.add(x);
		Collections.sort(answer);

		return answer;
	}

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

		int n = kb.nextInt();
		int[] arr1 = new int[n];

		for (int i = 0; i < n; i++) {
			arr1[i] = kb.nextInt();
		}

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

		for (int i = 0; i < m; i++) {
			arr2[i] = kb.nextInt();
		}

		for (int x : T.solution(n, arr1, m, arr2)) {
			System.out.print(x + " ");
		}
	}
}

 

답변 1

0

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

안녕하세요^^

이 문제는 정렬된 두 배열을 two pointer로 합치는 방법을 배우는게 목적입니다. 영상의 방법을 알아두시는게 좋습니다.

yb__char님의 프로필 이미지
yb__char

작성한 질문수

질문하기