알고리즘/프로그래머스
[프로그래머스 Summer/Winter Coding(~2018)] 숫자게임 -Java
dkwjdi
2020. 12. 29. 20:54
https://programmers.co.kr/learn/courses/30/lessons/12987
코딩테스트 연습 - 숫자 게임
xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로
programmers.co.kr
import java.util.Arrays;
class Solution {
public int solution(int[] A, int[] B) {
int answer = 0;
Arrays.sort(A);
Arrays.sort(B);
int aIdx=0;
int bIdx=0;
int size=A.length;
while(true) {
if(A[aIdx]<B[bIdx]) {
answer++;
aIdx++;
bIdx++;
}
else bIdx++;
if(aIdx==size || bIdx==size) break;
}
return answer;
}
}
소요시간 : 10분
Lv3치고는 되게 간단한 문제입니다.
로직을 살펴보면
우선 배열 A,B를 정렬합니다.
5,1,3,7 -> 1,3,5,7
2,2,6,8 -> 2,2,6,8
A배열과 B배열의 인덱스를 각각 aIdx, bIdx 라고 지었습니다.
만약 A[aIdx]<B[bIdx] 라면 승점을 추가시키고, a,b 인덱스를 증가시킵니다.
만약 그 반대상황이라면 b의 인덱스만 증가시킵니다.