코딩 테스트/프로그래머스

프로그래머스 - 숫자 게임 문제 (자바)

https://programmers.co.kr/learn/courses/30/lessons/12987

 

코딩테스트 연습 - 숫자 게임

xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로

programmers.co.kr

 

왜 3단계에 있지 하는 문제

 

A의 각 값들을 최소한의 차이로 이기도록 B의 사람을 내보내고 숫자를 세면 끝나는데

A [5,1,3,7], B [2,2,6,8]

 

우선 두배열을 정렬한다.

A[1, 3, 5, 7], B[2, 2, 6, 8]

 

앞에서 부터 비교를 하는데

B의 값이 큰 경우 점수 1점 획득 및 다음 A 와 비교하도록 aIndex++; 하면 끝이다.

 

ps

해당 과정에서 두 인덱스 중 하다라고 끝에 도달하면 끝임

 

 

import java.util.Arrays;

// 프로그래머스 숫자 게임 문제
class NumberGame {
    public int solution(int[] A, int[] B) {
        Arrays.sort(A);
        Arrays.sort(B);

        int aIndex = 0;
        int bIndex = 0;
        int answer = 0;
        while (aIndex != A.length && bIndex != B.length) {
            if (A[aIndex] < B[bIndex]) {
                answer++;
                aIndex++;
            }
            bIndex++;
        }
        return answer;
    }
}