💡Problem Solving/Programmers

[프로그래머스] 숫자 게임 (Java)

gom20 2021. 11. 11. 22:13

문제

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

 

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

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

programmers.co.kr

풀이

설명은 복잡하게 해놨는데, 문제는 굉장히 쉽다. 

A와 B를 오름차순으로 정렬하고

 

B를 기준으로 순회하면서

현재 B값이 A보다 같거나 작을 경우 B의 다음 index 체크

현재 B값이 A보다 큰 경우를 A의 index를 증가 

A: 1, 3, 5, 7

B: 2, 2, 6, 8

 

2 -> 6 -> 8 

2는 3보다 작으므로 skip 

순회가 끝난 후 A의 index가 답이 된다.

 

소스코드

import java.util.*;
class Solution {
    public int solution(int[] A, int[] B) {
        Arrays.sort(A);
        Arrays.sort(B);
        int idx = 0;
        for(int i = 0; i < B.length; i++){
            if(A[idx] >= B[i]) continue;
            idx++;
        }
        return idx;
    }
}